추이 그래프 만들기
데이터를 다룰 때, 단위가 다른 두 그래프의 추이를 확인하고 싶을 때가 있습니다.
plotly의 make_subplots() 를 이용하면 됩니다.
+ plotly 그래프에서 특정 값만 표시하거나 색상을 달리하고 싶을 때 사용하는 코드도 같이 있습니다.
참고 document 의 페이지 주소는 다음과 같습니다.
https://plotly.com/python/multiple-axes/
# 특정 값만 색으로 포인트를 주기 위해서 리스트를 만듭니다.
bg_colors = ['#ef553b'] * len(ocr_raw['시도명'])
bg_colors[11] = '#00cc96'
bg_colors[14] = '#00cc96'
# subplot을 만들 fig 생성
fig = make_subplots(specs=[[{"secondary_y": True}]])
# 첫번째 함수를 그려줍니다.
fig.add_trace(
go.Bar(
x=ocr_bg_19_m['시도명'],
y=(ocr_bg_19_m.loc[ocr_bg_19_m['발생량/관리예산'] == '발생량', '2019']),
name="발생량",
offsetgroup=1,
),
secondary_y=False,
)
# 두번째 함수를 그려줍니다.
fig.add_trace(
go.Bar(
x=ocr_bg_19_m['시도명'],
y=(ocr_bg_19_m.loc[ocr_bg_19_m['발생량/관리예산'] == '관리예산', '2019']),
name="관리예산",
offsetgroup=2,
marker_color=bg_colors
),
secondary_y=True,
)
fig.update_layout(
title_text="2019년 폐기물 발생량 및 관리예산 추이",
xaxis_tickangle=-45,
barmode='group'
)
# 축 옵션 설정하기
fig.update_xaxes(title_text="시도명")
fig.update_yaxes(title_text="<b>발생량</b>(톤)", secondary_y=False)
fig.update_yaxes(title_text="<b>관리예산</b>(천원)", secondary_y=True)
# 그래프 위에 텍스트 넣기
fig.add_annotation(x=1, y=1, yshift=250, text='<b>Max !</b>', showarrow=False)
fig.show()
대강 다음과 같이 뜹니다.
plotly multiple bar plotly 특정 값 표시 max 값 표시 plotly group bar
728x90
'📊 𝗕𝗶𝗴𝗗𝗮𝘁𝗮 > Visualization' 카테고리의 다른 글
[Folium] JSON 지도 위에 텍스트 넣기 (0) | 2022.06.09 |
---|---|
[Folium] html to png 이미지 파일로 저장하기 (0) | 2022.05.30 |
대한민국 행정구역 경계 JSON 파일 변환 및 다운받기 (0) | 2022.05.27 |