plotly의 bar를 이용해서 그래프를 그려보겠습니다.
라이브러리를 import 하고 기본 제공 데이터중 gapminder를 load 했습니다.
gapminder에는 국가별 기대수명 데이터가 들어 있습니다.
import plotly.express as px
df=px.data.gapminder()
df.head()
기본 그래프를 그리는 방식은 data_frame지정, x축, y축을 지정하면 되고,
마지막에 fig.show()를 넣어주면 그래프가 표시됩니다.
우리나라의 연도별 기대수명 그래프를 그리겠습니다.
fig=px.bar(data_frame=df.loc[df['country']=='Korea, Rep.'], x='year', y='lifeExp')
fig.show()
color 옵션에 column을 지정하면 그 column의 내용대로 색깔이 나뉘게 됩니다.
대륙을 Asia로 한정해서 x=국가, y=기대수명, color=연도로 지정하겠습니다.
fig=px.bar(data_frame=df.loc[df['continent']=='Asia'], x='country', y='lifeExp', color='year')
fig.show()
x, y를 바꿔볼까요. x=기대수명, y=국가로 지정하겠습니다.
그래프가 옆으로 표시되는 것을 알 수 있습니다.
fig=px.bar(data_frame=df.loc[df['continent']=='Asia'], y='country', x='lifeExp', color='year')
fig.show()
다음으로는 x=연도, y=기대수명, color=국가로 변경해보겠습니다.
fig=px.bar(data_frame=df.loc[df['continent']=='Asia'], x='year', y='lifeExp', color='country')
fig.show()
위에서 color=연도로 했을 때와 색깔이 표시되는 방식이 달라졌습니다.
연도는 숫자로 연속적인 색깔로 표시되었고, 국가는 string으로 각각의 색깔로 표시되었습니다.
여기서 barmode를 group으로 지정해보겠습니다. default는 stack입니다.
fig=px.bar(data_frame=df.loc[df['continent']=='Asia'], x='year', y='lifeExp',
color='country', barmode='group')
fig.show()
연도별 국가 그래프가 위로 표시가 쌓여 표시가 되던 것이 옆으로 나란히 놓이게 되었습니다.
위의 그래프와 비교해 보시면 알수 있습니다.
facet 옵션은 그래프를 여러 개로 나눌 때 사용합니다.
facet_col, facet_row, facet_col_wrap이 있는데 목적에 맞게 사용하시면 될 것 같습니다.
x=국가, y=기대수명, facet_col=연도로 지정하겠습니다.
fig=px.bar(data_frame=df.loc[df['continent']=='Asia'], x='country', y='lifeExp',
color='year', facet_col ='year')
fig.show()
연도 기준으로 그래프가 나뉜것을 알 수 있습니다.
facet_col_wrap=3으로 지정하겠습니다.
fig=px.bar(data_frame=df.loc[df['continent']=='Asia'], x='country', y='lifeExp',
color='year', facet_col ='year', facet_col_wrap=3)
fig.show()
column으로 전부 표시되던 그래프가 column당 max 3개씩 표시가 되는 것으로 바뀌었습니다.
마지막으로 그래프의 제목을 넣어보겠습니다.
title을 이용하면 되는데 아시아 국가별 기대수명으로 하겠습니다.
fig=px.bar(data_frame=df.loc[df['continent']=='Asia'], x='country', y='lifeExp',
color='year', facet_col ='year', facet_col_wrap=3, title='아시아 국가별 기대수명')
fig.show()
이상으로 plotly bar를 이용해서 그래프를 그려봤습니다.
'코딩TIPS' 카테고리의 다른 글
[plotly] color_discrete_sequence (color palette 변경) (4) | 2022.11.17 |
---|---|
[plotly] color_continuous_scale (color palette 변경) (8) | 2022.11.16 |
[plotly]line 그래프 그리기 (12) | 2022.11.12 |
[plotly]scatter 그래프 그리기 (6) | 2022.11.09 |
[seaborn] countplot 그래프 그리기 (4) | 2022.11.03 |