[Plotly] 추이 비교 Multiple Bar 그래프 그리기
📊 𝗕𝗶𝗴𝗗𝗮𝘁𝗮/Visualization

[Plotly] 추이 비교 Multiple Bar 그래프 그리기

 

 

 추이 그래프 만들기 

데이터를 다룰 때, 단위가 다른 두 그래프의 추이를 확인하고 싶을 때가 있습니다.

plotly의 make_subplots() 를 이용하면 됩니다.

+ plotly 그래프에서 특정 값만 표시하거나 색상을 달리하고 싶을 때 사용하는 코드도 같이 있습니다.

 

참고 document 의 페이지 주소는 다음과 같습니다.

https://plotly.com/python/multiple-axes/

 

Multiple

Detailed examples of Multiple Axes including changing color, size, log axes, and more in Python.

plotly.com

# 특정 값만 색으로 포인트를 주기 위해서 리스트를 만듭니다.
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