본문 바로가기

코딩TIPS

[plotly]line 그래프 그리기

반응형

plotly의 line을 이용해서 그래프를 그려보겠습니다.

 

라이브러리를 import 하고 기본 제공 데이터중 gapminder를 load 했습니다.

gapminder에는 국가별 기대수명 데이터가 들어 있습니다.

import plotly.express as px

df=px.data.gapminder()
df.head()

 

기본 그래프를 그리는 방식은 data_frame지정, x축, y축을 지정하면 되고,

마지막에 fig.show()를 넣어주어야 그래프가 표시됩니다.

우리나라의 연도별 기대수명 그래프를 그리겠습니다.

fig=px.line(data_frame=df.loc[df['country']=='Korea, Rep.'], x='year', y='lifeExp')
fig.show()

 

color 옵션에 column을 지정하면 그 column의 내용대로 색깔이 나뉘게 됩니다.

대륙을 Asia로 한정해서 각 Line의 Color기준을 국가로 지정해보겠습니다.

fig=px.line(data_frame=df.loc[df['continent']=='Asia'], x='year', y='lifeExp', color='country')
fig.show()

country로 색깔이 구분되는 것을 알 수 있습니다.

 

line_dash 옵션에 column을 지정하면 line의 모양이 바뀌게 됩니다.

fig=px.line(data_frame=df.loc[df['continent']=='Asia'], x='year', y='lifeExp', line_dash='country')
fig.show()

 

symbol 옵션을 사용하면 어떻게 될까요. 데이터가 있는 부분의 marker가 생기게 됩니다.

fig=px.line(data_frame=df.loc[df['continent']=='Asia'], x='year', y='lifeExp', symbol='country')
fig.show()

 

text 옵션은 그래프 내에 text가 표시가 됩니다.

한국과 일본의 연도별 기대수명 비교를 해보겠습니다.

그래프 내에서 text에서 지정한 column의 수치 확인이 가능해졌습니다.

fig=px.line(data_frame=df.loc[df['country'].isin(['Korea, Rep.','Japan'])], x='year', y='lifeExp',
            color='country',text ='lifeExp')
fig.update_traces(textposition="bottom right")
fig.show()

 

facet 옵션은 그래프를 여러 개로 나눌 때 사용합니다.

facet_col, facet_row, facet_col_wrap이 있는데 목적에 맞게 사용하시면 될 것 같습니다.

여기에서는 facet_col_wrap을 그려보겠습니다.

fig=px.line(data_frame=df.loc[df['continent']=='Asia'], x='year', y='lifeExp', 
            color='country', line_dash='country', facet_col='country', facet_col_wrap =4)
fig.show()

facet 기준을 country로 지정했고, facet_col_wrap=4로 지정해서 column 쪽으로 4개가 표시가 되도록 했습니다.

 

 

이상으로 plotly line을 이용해서 그래프를 그려봤습니다.

반응형