Python

[plotly] 사용법 간단 정리

jsys 2024. 1. 9. 13:28

 

* plotly란? : 파이썬으로 시각화를 할 수 있는 그래픽 라이브러리

 

 

* plotly 공식문서 : https://plotly.com/python-api-reference/generated/plotly.graph_objects.Figure.html

 

plotly.graph_objects.Figure — 5.18.0 documentation

’carpet’, ‘choropleth’, ‘choroplethmapbox’, ‘cone’, ‘contour’, ‘contourcarpet’, ‘densitymapbox’, ‘funnel’, ‘funnelarea’, ‘heatmap’, ‘heatmapgl’, ‘histogram’, ‘histogram2d’, ‘histogram2dcontour’, ‘ic

plotly.com

 

 

* plotly 공부 링크 : https://wikidocs.net/book/8909

 

Plotly Tutorial - 파이썬 시각화의 끝판왕 마스터하기

# 도서 소개 **이 책은 파이썬의 인터렉티브 시각화의 끝판왕 Plotly 사용법을 소개합니다.** **제가 겪은 시행착오를 기반으로 Plotly 관련 모든 내용을…

wikidocs.net

 

 

 

 

 

- plotly 라이브러리를 불러오고(io) , .renderers를 사용하면 plotly가 어떤 렌더러를 지원하는 지 알 수 있다.

import plotly.io as pio
pio.renderers

 

# out :

 

 

 

 

 

- 이후 기본 렌더러를 pio.renderers.default = ''로 설정한다. 

import plotly.io as pio
pio.renderers.default = 'jupyterlab'  # '' 안에 위 available renderers 목록 중 하나 넣으면 됨

>> jupyter lab을 사용하기 위해서 위처럼 코드를 작성했다.

 

 

 

 

 

- plotly.graph_objects를 통해 plotly의 그래프를 생성할 수 있다.

import plotly.graph_objects as go

# 데이터 불러오기
y = [3, 10, 6]

fig = go.Figure(
    data = [go.Bar(y=y)]
)

fig.show()

 

# out :

 

 

 

 

 

- plotly로 그래프를 그리는 방법은 두 가지가 있다.

   (graph_objects 모듈 활용/express 모듈 활용)

 

1) graph_objects 모듈 활용(Low Level Interface)

 

- 패키지 불러오기

import plotly.graph_objects as go

>> graph_objects 패키지를 'go'로 불러온다.

 

 

# go.Figure() : 기본 그래프 생성
fig = go.Figure()

# Data 입력
fig.add_trace(go.Bar(name = "Alex", x = temp['Fruit'], y = temp[temp['Contestant'] == "Alex"]['Number Eaten'].values))
fig.add_trace(go.Bar(name = "Jordan", x = temp['Fruit'], y = temp[temp['Contestant'] == "Jordan"]['Number Eaten'].values))

# layout 입력
fig.update_layout(barmode='group')

# show() : 노트북에 그래프가 나타나게 함
fig.show()

>> data : "trace"를 파이썬 리스트 형태로 받음. trace는 그래프 타입(Bar, Scatter, Box 등)과 그 그래프에 시각화하고자 하는 데이터를 품고 있는 단위. add_trace() 사용

>> layout : 그래프의 data 외 모든 부분을 편집하는 부분. 시각화를 높이기 위한 도구들이 이에 해당(title, legend, colors, shape, axes 등). update_layout() 사용

 

 

# out :

 

 

 

 

2) express 모듈 활용(High Level Interface)

 

- 패키지 불러오기

import plotly.express as px

>> express 패키지를 'px'로 불러온다.

 

 

fig = px.bar(temp, x = 'Fruit', y = 'Number Eaten', color = 'Contestant', barmode='group') # barmode : 두 데이터가 나눠짐. 없으면 누적 그래프 출력
fig.show()

>> px.bar를 통하여 그래프 타입을 막대 그래프로 지정 후 x,y에 각각 데이터를 넣어주었다.

 

 

# out :