Plotly 를 활용하여
초보자들은 복잡한 플롯을 만드는 과정을 단순화하고 훌륭한 시각화를 시작할 수 있음
https://plotly.com/python/reference/
□ 라이브러리
import chart_studio.plotly as py
import cufflinks as cf
□ 생성규칙
○ fig = go.Figure()로 기본 객체를 만들고
○ fig.add_trace()에 그래프 객체를 추가
○ fig.update_layout()으로 layout 업데이트 (필요시)
○ fig.update_annotation()으로 annotation (필요시)
○ fig.show()로 그래프 보기
#판다스로 데이터프레임 생성
#넘파이 .random.rand 함수로 10까지 랜덤 숫자 지정 + A, B 컬럼지정
df = pd.DataFrame(np.random.rand(10,2),columns=['A','B'])
#1단계 fig = go.Figure()로 기본 객체를 만들고
fig = go.Figure()
#2단계 fig.add_trace()에 그래프 객체를 추가
fig.add_trace(
go.Scatter(
x=df.index, y=df['B'], mode = 'lines', name='A'
)
)
fig.add_trace(
go.Scatter(
x=df.index, y=df['A'], mode='lines+markers+text', name='B', text=df.index, textposition='top center'
)
)
fig.show()
□ 예제
○ 라이브러리 호출
import numpy as np
import pandas as pd
import plotly.graph_objects as go
○ 데이터프레임생성
df = pd.DataFrame(np.random.rand(10,2), columns=['A','B'])
○ 1단계 : 그래프 기본객체 생성
fig = go.Figure()
○ 2단계 : 그래프 객체추가
- texttemplate : 수치표시형식 조정
- text : 표현수치
- textpostion : 수치 위치. auto를 준다면 그래프 안에 수치표시됨
fig.add_trace(
go.Bar(
x=df.index, y=df['A'], name='A', text=df['A'], textposition ='auto', texttemplate='%{y:2f}'
)
)
fig.add_trace(
go.Bar(
x=df.index, y=df['B'], name='B', text=df['B'], textposition ='auto', texttemplate='%{y:2f}'
)
)
○ 3단계 : layout 업데이트
- title : 제목지정
→ text : 제목입력
→ font : 폰트사이즈
→ x, y : x,y축 조절을 통해 제목위치 지정
- showlegend : 범례 표시여부
- xaxis : x축에 관련된 설정을 지정
→ title: x축의 레이블로 사용될 텍스트를 'random number'로 설정
→ showticklabels: x축의 눈금 레이블을 표시할지 여부를 True로 설정
→ dtick : x축 간격을 1로 설정
- yaxis: y축에 관련된 설정을 지정
→ title: y축의 레이블로 사용될 텍스트를 'A'로 설정
→ autosize: 그래프의 크기를 자동으로 조절할지 여부를 설정. False로 설정되어 수동으로 크기를 조절
→ width : 그래프의 너비를 600으로 설정
→ height : 그래프의 높이를 350으로 설정
fig.update_layout(
{
'title':{
'text' : 'Graph with <b>go.Bar</b>',
'x' : 0.5,
'y' : 0.9,
'font' : {
'size' : 20
}
}
,
'showlegend' : True,
'xaxis': {
'title':'random number',
'showticklabels': True,
'dtick':1
},
'yaxis':{
'title':'A'
},
'autosize' : False,
'width':600,
'height':350
}
)
'Python > seaborn & matplotlib' 카테고리의 다른 글
전처리 후 시각화(Series 타입을 Seaborn으로 그래프화) (0) | 2024.02.16 |
---|---|
판다스 parse_dates, assign 함수를 활용한 시각화 (0) | 2024.02.16 |
pie, barplot 차트 (+glob함수로 다중 데이터 불러오기) (0) | 2024.02.07 |
countplot 차트 (+glob함수로 다중 데이터 불러오기) (0) | 2024.02.07 |
파이형 그래프 (feat. 한글출력/폰트설정) (0) | 2024.02.06 |