어서 오세요. 꽁냥이입니다.
이번 포스팅에서는 Plotly를 이용하여 기본적인 막대그래프(Bar Chart, 바 차트)를 그리는 방법을 먼저 알아볼거예요. 그리고 심화학습(?)으로 그룹 막대 그래프(Grouped Bar Chart, 그룹 바 차트) 그리고 스택 막대 그래프(Stacked Bar Chart, 스택 바 차트)를 그리는 방법에 대해서 소개하겠습니다.
이번 포스팅을 보시기에 앞서 Plotly를 이용한 그래프 부가 요소를 다루는 방법을 지난 포스팅에서 다루었으니 먼저 읽고 오시는 것을 추천합니다.
Plotly 그래프 부가 요소 꾸미기(배경색, 범례, 축, 타이틀)
오늘 다룰 내용은 다음과 같습니다.
1. Plotly를 이용하여 기본적인 막대 그래프(Bar Chart, 바 차트) 그리기
2. Plotly를 이용하여 그룹 막대 그래프(Grouped Bar Chart, 그룹 바 차트) 그리기
3. Plotly를 이용하여 스택 막대 그래프(Stacked Bar Chart, 스택 바 차트) 그리기
1. Plotly를 이용하여 기본적인 막대 그래프(Bar Chart, 바 차트) 그리기
Plotly에서는 graph_objects의 Bar 클래스를 이용하여 막대 그래프(Bar Chart, 바 차트)를 그릴 수 있습니다. 아래 코드는 캐나다 인구 데이터를 연도별로 막대 그래프(Bar Chart, 바 차트)로 나타낸 것입니다.
이때 data와 layout 인자를 사용하여 Figure를 생성할 수 있습니다.
import plotly.express as px
import plotly.graph_objects as go
df = px.data.gapminder().query("country == 'Canada'") # 캐나다 인구 통계 데이터
data = go.Bar(x=df['year'], y=df['pop']) # x축 연도, y축 인구수, Bar 클래스 생성
layout = go.Layout(title='Population') # Title 설정
# 막대 그래프(Bar Chart, 바 차트)를 포함하는
# Figure 생성
fig = go.Figure(data=data, layout=layout)
fig.show()
코드를 실행하면 위와 같이 막대그래프가 잘 나온 것을 확인할 수 있습니다.
2. Plotly를 이용하여 그룹 막대그래프(Grouped Bar Chart, 그룹 바 차트) 그리기
이번엔 그룹 막대 그래프(Grouped Bar Chart, 그룹 바 차트) 그리는 방법을 알아보겠습니다. 어렵지 않습니다.
그룹 개수만큼 Bar 클래스를 생성하고 Figure 클래스에 data 인자에 생성된 Bar 클래스를 배열 형식으로 넣어주면 됩니다. 이때 Bar 클래스에 name 인자를 지정하여 범례로 그룹을 알 수 있도록 합니다.
이번엔 독일, 캐나다, 미국의 인구를 그룹 막대그래프(Grouped Bar Chart, 그룹 바 차트)로 나타내 보겠습니다.
df1 = px.data.gapminder().query("country == 'Germany'")
df2 = px.data.gapminder().query("country == 'Canada'")
df3 = px.data.gapminder().query("country == 'United States'")
# Bar 클래스 생성, name 인자로 범례 생성
data1 = go.Bar(x=df1['year'], y=df1['pop'], name='Germany')
data2 = go.Bar(x=df2['year'], y=df2['pop'], name='Canada')
data3 = go.Bar(x=df3['year'], y=df3['pop'], name='United States')
layout = go.Layout(title='Population') # Title 설정
# 생성된 Bar 클래스를 리스트로 만들어 data 인자로 설정
fig = go.Figure(data=[data1, data2, data3], layout=layout)
fig.show()
3. Plotly를 이용하여 스택 막대그래프(Stacked Bar Chart, 스택 바 차트) 그리기
이번엔 Plotly를 이용하여 스택 막대 그래프(Stacked Bar Chart, 스택 바 차트) 그려보겠습니다. 어렵지 않습니다. 앞에 그룹 막대그래프(Grouped
Layout 클래스에서 barmode 인자를 'stack'으로 설정하면 됩니다.
df1 = px.data.gapminder().query("country == 'Germany'")
df2 = px.data.gapminder().query("country == 'Canada'")
df3 = px.data.gapminder().query("country == 'United States'")
# Bar 클래스 생성, name 인자로 범례 생성
data1 = go.Bar(x=df1['year'], y=df1['pop'], name='Germany')
data2 = go.Bar(x=df2['year'], y=df2['pop'], name='Canada')
data3 = go.Bar(x=df3['year'], y=df3['pop'], name='United States')
layout = go.Layout(title='Population', barmode='stack') # Title 설정 & Stack으로 그리기
# 생성된 Bar 클래스를 리스트로 만들어 data 인자로 설정
fig = go.Figure(data=[data1, data2, data3], layout=layout)
fig.show()
이번 포스팅에서는 Plotly를 이용하여 기본적인 막대그래프(Bar Chart, 바 차트), 그룹 막대 그래프(Grouped Bar Chart, 그룹 바 차트) 그리고 스택 막대 그래프(Stacked Bar Chart, 스택 바 차트)를 그리는 방법에 대해서 알아보았습니다.
근데 아직 뭔가 심심한 느낌이 있는데요. 다음 포스팅에서는 막대 그래프(Bar Chart, 바 차트)를 꾸미는 방법에 대해서 알아보겠습니다. 지금까지 꽁냥이 글 읽어주셔서 감사합니다. 안녕히 계세요.
'데이터 분석 > 시각화' 카테고리의 다른 글
Matplotlib - 로그 눈금(Log Scale) 설정하기(semilogx, semilogy, xscale, yscale) (402) | 2022.04.19 |
---|---|
Plotly를 이용한 막대 그래프(Bar Chart, 바 차트) 꾸미기 - 색상, 테두리, 크기, 패턴 (405) | 2022.04.09 |
Plotly 그래프 부가 요소 꾸미기(배경색, 범례, 축, 타이틀) (424) | 2022.04.08 |
Plotly 선 그래프(Line Chart, 라인 차트) 꾸미기 - 선 색깔, 선 스타일, 선 굵기, 텍스트(annotation) (401) | 2022.04.08 |
Plotly의 원리와 선 그래프(Line Chart, 라인 차트) 하나 또는 여러개 그리기 (400) | 2022.04.08 |
댓글