πŸ“Š 쀑간고사가 λλ‚¬μŠ΅λ‹ˆλ‹€. 그런 κΉŒλ‹­μ— μ˜€λžœλ§Œμ—!! μ΄λ ‡κ²Œ λΈ”λ‘œκ·Έμ— 글을 μ”λ‹ˆλ‹€.

πŸ“Š 사싀 μ €λ²ˆ ν•™κΈ°λ³΄λ‹€λŠ” 훨씬 νŽΈν•˜κΈ΄ ν•©λ‹ˆλ‹€. 일단 전곡을 두 κ³Όλͺ©λ§Œ λ“£κ³  있고, 각고의 λ…Έλ ₯ 끝에 μ΅œλŒ€ν•œ μ‹œν—˜μ—†λŠ” κ³Όλͺ©λ“€λ‘œ μˆ˜κ°•μ‹ μ²­μ„ ν–ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. κ·ΈλŸΌμ—λ„ ν”„λ‘œμ νŠΈ λ‘κ°œμ˜ 압박감은 μ—­μ‹œ ν•¨λΆ€λ‘œ λ¬΄μ‹œν•  수 μ—†λŠ” 것 κ°™λ„€μš”β€¦ 괜히 겁먹을 ν•„μš”λŠ” μ—†μ§€λ§Œ, 이미 겁을 μž”λœ© 집어먹은 μƒνƒœμž…λ‹ˆλ‹€πŸ˜₯πŸ˜₯. κ·Έλž˜λ„ 뭐 μ‹œν—˜λ„ λλ‚¬μœΌλ‹ˆ 일단 μ΄μ£ΌλŠ” μ’€ 쉬엄쉬엄 μ‚΄μ•„λ΄μ•Όκ² μŠ΅λ‹ˆλ‹€!!

πŸ“Š 였랜만의 글이라 μ–΄λ–€ λ‚΄μš©μ„ 닀룰지 κ½€λ‚˜ 고민이 λ§Žμ•˜λŠ”λ°, μ˜€λŠ˜μ€ plotly κ·Έλž˜ν”„λ₯Ό 우리의 κΉƒν—ˆλΈŒ λΈ”λ‘œκ·Έμ— 좜λ ₯ν•˜λŠ” λ‚΄μš©μ„ λ‹€λ£¨κ³ μž ν•©λ‹ˆλ‹€. plotlyλ₯Ό μ‚¬μš©ν•˜λŠ” μ΄μœ λŠ” κΈ°λ³Έ 파이썬이 μ œκ³΅ν•˜λŠ” μ‹œκ°ν™” 도ꡬ보닀 예쁜 μ‹œκ°ν™”κ°€ κ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ 이보닀 더 μ€‘μš”ν•œ 것은 μ‚¬μš©μžκ°€ μΈν„°λž™ν‹°λΈŒν•˜κ²Œ κ·Έ κ·Έλž˜ν”„λ₯Ό 만질 수 μžˆλ‹€λŠ” 것이라고 μƒκ°ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ§€κΈˆκΉŒμ§€ 데이터뢄석 μ—°μŠ΅μ„ ν•˜λ©΄μ„œ λŒ€λΆ€λΆ„ plotly와 iplot을 μ‚¬μš©ν•΄μ„œ μ‹œκ°ν™”ν–ˆλŠ”λ°, 이 μΉœκ΅¬λ“€μ„ λΈ”λ‘œκ·Έμ— ν¬μŠ€νŒ… ν•  λ•Œλ§ˆλ‹€ κ·Έλƒ₯ ν™”λ©΄λ§Œ μΊ‘μ²˜ν•΄μ„œ μ˜¬λ¦°λ‹€λŠ” 게 항상 μ•„μ‰¬μ› μŠ΅λ‹ˆλ‹€. ꡬ글링을 톡해 μ•Œμ•„λ‚Έ 방법을 μ§€κΈˆλΆ€ν„° μ†Œκ°œν•˜κ³ μž ν•©λ‹ˆλ‹€.

πŸ“Š 이 방법은 이 λΈ”λ‘œκ·Έλ₯Ό μ°Έκ³ ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 링크λ₯Ό κ±Έμ–΄λ‘μ—ˆμœΌλ‹ˆ 이 글도 μ°Έκ³ ν•˜μ‹œλ©΄ 도움이 될 것 κ°™μŠ΅λ‹ˆλ‹€.


κ°œμš”

πŸ“Š plotlyλ₯Ό μ‚¬μš©ν•΄μ‹  뢄은 μ•„μ‹œκ² μ§€λ§Œ μΈν„°λž™ν‹°λΈŒν•˜κ²Œ λ°˜μ‘ν•œλ‹€λŠ” 것은 정말 큰 도움이 λ©λ‹ˆλ‹€. κ°€λ Ή 두 line이 κ²Ήμ³μ„œ μ–΄λŠ line이 더 μœ„μ— μžˆλŠ”μ§€ μ•Œμ•„λ‚΄μ•Ό ν•  κ²½μš°μ—, 일반 νŒŒμ΄μ¬μ„ μ‚¬μš©ν•˜λŠ” κ²½μš°μ—λŠ” scaling을 톡해 κ·Έ x, yμΆ•μ˜ μ‚¬μ΄μ¦ˆλ₯Ό κ±΄λ“œλ €μ€˜μ•Ό ν•  ν…λ°μš”, 우리의 plotlyλŠ” λ‹¨μˆœνžˆ 마우슀만 가지고 μ€Œμ„ 땑겨 κ·Έλž˜ν”„μ˜ 세뢀사항을 μ‰½κ²Œ μ•Œ 수 있게 λ„μ™€μ€λ‹ˆλ‹€.

πŸ“Š λ‚˜λ¦„ μ‹œκ°ν™”λ₯Ό μ’‹μ•„ν•˜λŠ” μ‚¬λžŒμœΌλ‘œμ¨, 이λ₯Ό λ‹¨μˆœνžˆ μΊ‘μ²˜ν•΄μ„œ μ˜¬λ¦°λ‹€λŠ” 것은 μžˆμ„ 수 μ—†λŠ” 일이라 μƒκ°ν•©λ‹ˆλ‹€. 저와 같은 상황에 μ²˜ν•˜μ‹  λΆ„λ“€μ—κ²Œλ„ 큰 도움이 됐으면 μ’‹κ² μŠ΅λ‹ˆλ‹€.

STEP1. plotly νšŒμ›κ°€μž…

πŸ“Š 이미 plotlyλ₯Ό 톡해 좜λ ₯ν•œ κ·Έλž˜ν”„κ°€ μžˆλ‹€κ³  κ°€μ •ν•©λ‹ˆλ‹€. 아직 plotlyλ₯Ό 잘 λͺ¨λ₯΄μ‹œλŠ” 뢄듀은 이 글을 μ°Έκ³ ν•˜μ‹œκΈΈ λ°”λžλ‹ˆλ‹€.
πŸ“Š μΈν„°λž™ν‹°λΈŒν•œ κ·Έλž˜ν”„λ₯Ό κ·ΈλŒ€λ‘œ λΈ”λ‘œκ·Έμ— 올리기 μœ„ν•΄, 이 κ·Έλž˜ν”„μ— λŒ€ν•œ URL을 λ§Œλ“ λ‹€κ³  μƒκ°ν•˜λ©΄ 될 것 κ°™μŠ΅λ‹ˆλ‹€. 이 URL을 plotly ν΄λΌμš°λ“œμ—μ„œ λ§Œλ“€ 수 있기 λ•Œλ¬Έμ— μš°μ„  plolty에 κ°€μž…μ„ ν•˜λ„λ‘ ν•©μ‹œλ‹€.

🚩 plotly ν™ˆνŽ˜μ΄μ§€μ— κ°€μ„œ κ°€μž…ν•©μ‹œλ‹€. μ €λŠ” κΉƒν—ˆλΈŒμ™€ μ—°λ™ν•΄μ„œ κ°€μž…ν–ˆμŠ΅λ‹ˆλ‹€.

🚩 κ°€μž…ν•˜κ³  우츑 μƒλ‹¨μ˜ 본인 계정 이름을 ν΄λ¦­ν•œ λ’€ λœ¨λŠ” μ°½μ—μ„œ Settings을 λˆ„λ₯΄λ©΄ 쒌츑 μ‚¬μ΄λ“œλ°”μ— API Keysκ°€ 보일 ν…λ°μš”, ν΄λ¦­ν•©μ‹œλ‹€.

🚩 그러면 API Setting을 μœ„ν•œ 화면이 λ‚˜νƒ€λ‚©λ‹ˆλ‹€. μ—¬κΈ°μ„œ Regenerate Keyλ₯Ό ν΄λ¦­ν•΄μ„œ API Keyλ₯Ό λ§Œλ“€μ–΄μ€μ‹œλ‹€. μ•žμœΌλ‘œ μ‚¬μš©ν•  킀이기 λ•Œλ¬Έμ— κΈ°μ–΅ν•˜λŠ” 편이 쒋을 것 κ°™μŠ΅λ‹ˆλ‹€.

STEP2. 라이브러리

πŸ“Š 이 λΈ”λ‘œκ·Έμ—μ„œ plotly와 iplot μ‹œκ°ν™”λ₯Ό μœ„ν•΄ μ‚¬μš©ν•œ λΌμ΄λΈŒλŸ¬λ¦¬λŠ” μ•„λž˜μ™€ λ‹€μŠ΅λ‹ˆλ‹€.

# plotly 라이브러리
import plotly.graph_objects as go
import plotly.offline as pyo
pyo.init_notebook_mode()
import plotly. io as pio

# iplot 라이브러리
import chart_studio.plotly as py
import cufflinks as cf
cf.go_offline(connected = True)

πŸ“Š 이 ν˜•μ‹μ—μ„œ λ²—μ–΄λ‚˜μ§€λŠ” μ•Šμ§€λ§Œ, ν•œκ°€μ§€ μΆ”κ°€ν•΄μ•Ό ν•  λΌμ΄λΈŒλŸ¬λ¦¬κ°€ μžˆμŠ΅λ‹ˆλ‹€.

# plotly 라이브러리
import plotly.graph_objects as go
import plotly.offline as pyo
pyo.init_notebook_mode()
import plotly. io as pio

# iplot 라이브러리
import chart_studio.plotly as py
import cufflinks as cf
cf.go_offline(connected = True)

# μΆ”κ°€
import chart_studio.tools as tls

πŸ“Š μ•žμœΌλ‘œμ˜ plotly μž‘μ—…μ€ 이 라이브러리λ₯Ό μ‚¬μš©ν•΄μ„œ 진행할 κ²ƒμž…λ‹ˆλ‹€!!

STEP3. κ·Έλž˜ν”„ URL 생성

πŸ“Š URL 생성을 μœ„ν•΄ λ¨Όμ € 우리의 이름과 API Keyλ₯Ό μ•Œλ €μ€˜μ•Ό ν•©λ‹ˆλ‹€. μ΄λ•Œ μ‚¬μš©ν•˜λŠ” μ½”λ“œλŠ” μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

username = 'username' # 본인 plotly user name
api_key = 'api key' # 본인 plotly api key
chart_studio.tools.set_credentials_file(username=username, api_key=api_key)

πŸ“Š κ·Έ λ‹€μŒμ€ URL을 μƒμ„±ν•˜λŠ” λ‹¨κ³„μž…λ‹ˆλ‹€.

# filename은 본인이 λ‹€λ₯Έ κ·Έλž˜ν”„μ™€ ꡬ별할 수 μžˆλŠ” 이름이면 됨
py.plot(fig, filename = 'plotly_PA_2013', auto_open=True)
>> 'https://plotly.com/~nyamin9/7/'
  • μ €λŠ” 이 κ·Έλž˜ν”„λ₯Ό URL둜 λ§Œλ“  κ²°κ³Ό https://plotly.com/~nyamin9/7/ λΌλŠ” 링크가 λ§Œλ“€μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€.

πŸ“Š κΉƒν—ˆλΈŒ λΈ”λ‘œκ·Έμ— ν¬μŠ€νŒ…ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ§ˆν¬λ‹€μš΄ ν˜•νƒœλ‘œ λ°”κΏ”μ£ΌλŠ” 것이 νŽΈν•©λ‹ˆλ‹€. μ΄λ•Œ tls 라이브러리λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

tls.get_embed('https://plotly.com/~nyamin9/7/')
>> '<iframe id="igraph" scrolling="no" style="border:none;" seamless="seamless" src="https://plotly.com/~nyamin9/7.embed" height="525" width="100%"></iframe>'
  • 이제 κ·Έλƒ₯ 이 링크λ₯Ό ν¬μŠ€νŒ… λ§ˆν¬λ‹€μš΄ νŒŒμΌμ— λΆ™μ—¬λ„£μœΌλ©΄ λ©λ‹ˆλ‹€πŸ™‚. (μž‘μ€λ”°μ˜΄ν‘œλŠ” μ œμ™Έ)

πŸ“Š κ·Έ κ²°κ³Ό μ΄λ ‡κ²Œ 이쁜 λ°˜μ‘ν˜• plotly κ·Έλž˜ν”„κ°€ λ‚˜μ˜΅λ‹ˆλ‹€!!


πŸ“Š 이 방법을 μ΄μ œμ•Ό μ•Œκ²Œ λ˜λ‹€λ‹ˆ λ„ˆλ¬΄ ν›„νšŒν•˜λŠ” μ€‘μž…λ‹ˆλ‹€πŸ˜₯ μ‹œκ°ν™”λ₯Ό 닀룬 λͺ¨λ“  글이 κ·Έλƒ₯ 캑처본이기 λ•Œλ¬Έμ— κ·Έ λ™μ•ˆ μƒλ‹Ήνžˆ λΆˆλ§Œμ‘±μŠ€λŸ¬μ› λŠ”λ°, λ°”κΎΈκ³  λ‚˜λ‹ˆ 속이 ν›„λ ¨ν•˜κΈ΄ ν•˜λ„€μš”!!

πŸ“Š κ·Έλž˜λ„ ν•˜λ‚˜ν•˜λ‚˜ μ•Œμ•„κ°€λŠ” 과정이 λ„ˆλ¬΄ 재밌고 μ’‹μŠ΅λ‹ˆλ‹€. 당뢄간은 μ΄λ ‡κ²Œ κ³ μΉ  점도 찾아보고 λΈ”λ‘œκ·Έ μœ μ§€λ³΄μˆ˜λ₯Ό μ’€ ν•΄μ•Όκ² λ‹€β€¦λŠ” 닀짐을 ν•˜λ©΄μ„œ!! 였늘의 ν¬μŠ€νŒ…μ„ λ§ˆμΉ˜λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.


(2022.11.11 μΆ”κ°€)

πŸ“Š μ˜ˆμƒμΉ˜ λͺ»ν•œ λ³€μˆ˜κ°€ μƒκ²ΌμŠ΅λ‹ˆλ‹€β€¦ plotlyμ—μ„œ μ œκ³΅ν•˜λŠ” 개인 디렉토리 ν• λ‹ΉλŸ‰μ΄ μ •ν•΄μ Έ μžˆμ–΄μ„œ κ·Έκ±Έ λ„˜μœΌλ©΄ μ•„μ˜ˆ μœ„μ˜ 방식이 진행이 λ˜μ§€ μ•Šλ”λΌκ΅¬μš”β€¦ κ·Έλž˜μ„œ μ–΄λ–»κ²Œ 할지 κ³ λ―Όν•˜λ‹€κ°€ 학생 ν˜Ήμ€ κΈ°μ—…μš© ν—ˆκ°€λ₯Ό λ°›μœΌλ©΄ pro 버전을 μ‚¬μš©ν•  수 μžˆλ‹€λŠ” 것을 μ•Œκ³  λΉ λ₯΄κ²Œ 메일을 λ³΄λƒˆμŠ΅λ‹ˆλ‹€.



πŸ“Š μ΄λ ‡κ²Œ 며칠을 기닀리닀가 λ“œλ””μ–΄ 였늘!! λ‹΅μž₯을 λ°›μ•˜μŠ΅λ‹ˆλ‹€.


πŸ“Š λ³΄μ‹œλ©΄ μ•„μ‹œκ² μ§€λ§Œ μ•„μ‰½κ²Œλ„ pro 버전을 μ‚¬μš©ν•  μˆ˜λŠ” 없을 것 κ°™μŠ΅λ‹ˆλ‹€β€¦ λŒ€μ‹œλ³΄λ“œ 앱을 μ‚¬μš©ν•˜λΌκ³  ν–ˆλŠ”λ°, 아직은 κ·Έ 방식을 μ‚¬μš©ν•΄λ³Έ 적이 μ—†μ–΄ μš°μ„  νƒœλΈ”λ‘œ 곡뢀λ₯Ό λ¨Όμ € ν•˜κ³  plotly λŒ€μ‹œλ³΄λ“œλ„ 곡뢀해 λ΄μ•Όκ² μŠ΅λ‹ˆλ‹€.

πŸ“Š 비둝 μ œκ°€ μ›ν•˜λ˜ κ²°κ³ΌλŠ” μ•„λ‹ˆμ§€λ§Œ, κ·Έλž˜λ„ μ΄λ ‡κ²Œ μ™Έκ΅­ κΈ°μ—…κ³Ό 메일도 μ£Όκ³  λ°›μ•„ λ³Έ 게 λ‚˜λ¦„ 큰 κ²½ν—˜μ΄ 된 κ±° κ°™κΈ΄ ν•΄μ„œ λΏŒλ“―ν•˜κΈ΄ ν•˜λ„€μš”γ…Ž μ’€ 더 μ—΄μ‹¬νžˆ μ‚΄μ•„λ΄μ•Όκ² μŠ΅λ‹ˆλ‹€!!


Leave a comment