차밍이
[Python] Plotly 그래프 사용법 - Bar Plot 본문
목차
Plotly 그래프 중 Bar Graph 그리는 방법에 대해 소개하겠습니다.
express와 graph_objects 두 가지 방식을 모두 알아보겠습니다.
두 개의 차이가 궁금하다면 아래 글을 참고 해주세요.
[Plotly] express와 graph_objects의 차이 / px와 go 차이
예시 데이터
아래 예시에서 사용할 기본 데이터입니다.
import pandas as pd
# 예시 데이터
data = [['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
[638, 11, 35, 18, 1, 57, 81, 365, 36],
[774, 16, 38, 19, 2, 68, 96, 411, 34],
[807, 16, 58, 26, 2, 62, 99, 415, 20],
[817, 20, 60, 20, 1, 70, 104, 429, 27],
[768, 18, 53, 22, 6, 67, 108, 404, 46],
[898, 24, 63, 27, 2, 64, 119, 431, 46],
[926, 29, 64, 22, 5, 63, 129, 438, 34],
[928, 17, 53, 29, 7, 59, 127, 458, 49],
[891, 19, 53, 24, 6, 61, 138, 458, 69],
[1029, 20, 58, 37, 11, 69, 149, 492, 62]]
df = pd.DataFrame(data[1:], columns=data[0])
plotly.express를 사용한 bar 그래프
기본 막대그래프
fig = px.bar(x=["a", "b", "c"], y=[1, 2, 3])
fig.show()
기초적인 막대그래프를 그리는 방식입니다.
DataFrame 형식 Bar Graph
fig = px.bar(df, title="판매량 그래프")
fig.show()
데이터프래임을 사용해도 쉽게 그래프를 그릴 수 있습니다.
특정 Column만 선택한 막대그래프
fig = px.bar(df, y=['B', 'G', 'I'], title="판매량 그래프", height=310)
fig.show()
특정 column만 선택하려면 y=
을 통해서 원하는 column을 선택하면 됩니다.
추가적으로 그래프 높이를 조절하려면 height
옵션을 통해 원하는 크기 값을 넣어줍니다.
unstack Bar 그래프 : plotly bar stack 된 것 풀기
fig = px.bar(df, y=['B', 'G', 'I'], title="판매량 그래프", barmode='group')
fig.show()
express
를 사용해서 그래프를 그리면 기본적으로 stack
되는 것이 default 옵션입니다.
따라서 unstack 해서 각각의 막대그래프를 그리고 싶으면 barmode
옵션을 group으로 설정해 주면 됩니다.
수평 막대그래프 그리기 Horizontal bar graph
fig = px.bar(df, x=['B', 'G', 'I'], title="판매량 그래프", orientation='h')
fig.show()
수평 막대를 그리려면 orientation 옵션을 h
로 설정하면 됩니다.
plotly.graph_objects를 사용한 막대그래프
기본 그래프
fig = go.Figure()
fig.add_trace(
go.Bar(x=df.index, y=df['A'], name="A")
)
fig.add_trace(
go.Bar(x=df.index, y=df['H'], name="H")
)
fig.show()
graphg_objects
를 사용한 기본적인 그래프 그리는 방식입니다.
x, y 축 값에 들어갈 값을 직접 지정을 해줘야 합니다.
df형식의 경우 직접 추가할 column들을 선택해줘야 하는 번거로움이 있습니다.
그리고 기본 형식이 group 막대그래프입니다.
막대그래프 쌓기
fig = go.Figure()
fig.add_trace(
go.Bar(x=df.index, y=df['A'], name="A")
)
fig.add_trace(
go.Bar(x=df.index, y=df['H'], name="H")
)
fig.update_layout(
barmode='stack'
)
fig.show()
막대그래프가 쌓여있는 스택 막대 그래프를 그리려면 fig
객체에서 layout 형식을 바꿔야 합니다.
수평 막대 그래프
fig = go.Figure()
fig.add_trace(
go.Bar(y=df.index, x=df['A'], name="A", orientation='h')
)
fig.add_trace(
go.Bar(y=df.index, x=df['H'], name="H", orientation='h')
)
fig.update_layout(
barmode='stack',
)
fig.show()
orientation
옵션을 h
로 바꿔주면 되므로 쉽습니다.
대신 수평 막대그래프이므로 x축과 y축에 들어가는 값이 바뀌게 됩니다.
x, y 자리를 기존에서 바꿔주어야 한다는 것을 잊지 마세요.
지금까지 Plotly를 사용해 막대그래프를 그리는 방법에 대해서 알아보았습니다.
Bar Chart 심화 버전
[Python] Plotly 누적 그룹 막대 그래프 그리기 - Stack and Group Bar Chart
Scatter Plot과 Line Plot도 한 번 알아보세요ㅎ
'파이썬 > 데이터 시각화' 카테고리의 다른 글
[Python] Plotly 누적 그룹 막대 그래프 그리기 - Stack and Group Bar Chart (0) | 2023.01.27 |
---|---|
[Plotly] express와 graph_objects의 차이 / px와 go 차이 (0) | 2023.01.20 |
[Python] Plotly : subplot 만들기의 모든것 - subtitle, type 설정 포함 (0) | 2022.07.24 |
[Python] Plotly legend(범례) 의 모든 것 - 순서, 위치, 폰트 등 (0) | 2022.07.23 |
[Python] Plotly 자주 사용하는 Layout 설정 - title, 축 label, font, subtitle, position 등 (4) | 2022.06.19 |
[Python] Plotly 축 반전, x축 y축 반전 뒤집기 (2) | 2022.02.14 |
[Python] Plotly 그래프 사용법 - Line Plot (0) | 2021.01.28 |
[Python] Plotly 그래프 사용법 - Scatter Plot (0) | 2021.01.27 |