π Pandas μκ°ν 4 - plotly github λΈλ‘κ·Έμ μΆλ ₯
π μ€κ°κ³ μ¬κ° λλ¬μ΅λλ€. κ·Έλ° κΉλμ μ€λλ§μ!! μ΄λ κ² λΈλ‘κ·Έμ κΈμ μλλ€.
π μ¬μ€ μ λ² ν기보λ€λ ν¨μ¬ νΈνκΈ΄ ν©λλ€. μΌλ¨ μ 곡μ λ κ³Όλͺ©λ§ λ£κ³ μκ³ , κ°κ³ μ λ
Έλ ₯ λμ μ΅λν μνμλ κ³Όλͺ©λ€λ‘ μκ°μ μ²μ νκΈ° λλ¬Έμ
λλ€. κ·ΈλΌμλ νλ‘μ νΈ λκ°μ μλ°κ°μ μμ ν¨λΆλ‘ 무μν μ μλ κ² κ°λ€μβ¦ κ΄ν κ²λ¨Ήμ νμλ μμ§λ§, μ΄λ―Έ κ²μ μλ© μ§μ΄λ¨Ήμ μνμ
λλ€π₯π₯. κ·Έλλ λ μνλ λλ¬μΌλ μΌλ¨ μ΄μ£Όλ μ’ μ¬μμ¬μ μ΄μλ΄μΌκ² μ΅λλ€!!
π μ€λλ§μ κΈμ΄λΌ μ΄λ€ λ΄μ©μ λ€λ£°μ§ κ½€λ κ³ λ―Όμ΄ λ§μλλ°, μ€λμ 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