파이썬에서 움직이는 차트를 만드는 방법은 여러 가지가 있습니다. matplotlib패키지에서 시간 간격을 두고 차트를 새로 그리면 차트가 움직이는 것처럼 보입니다. 하지만 이것보다 더 쉽게 애니메이션 차트를 그릴 수 있는 방법이 있습니다. 바로 plotly를 이용하는 것입니다.

 

 

plotly는 자바 스크립트로 만들어진 대화형 시각화 모듈입니다. 이를 plotly 패키지를 이용해서 파이썬에서도 사용할 수 있는데요. 문법이 조금 생소하고 까다로운 것이 단점이었습니다. 하지만 이를 해결해주는 plotly.express라는 모듈이 나왔습니다.


이 패키지를 이용하면 대화형 시각화 차트를 쉽게 그릴 수 있고, 애니메이션도 쉽게 만들 수 있습니다. 물론 어느 정도 제약은 존재합니다. 더 자유롭게 만들고 싶다면 matplotlib을 이용하는 것이 좋습니다.

 

 

 

데이터는 seaborn패키지의 load_dataset함수를 이용해서, mpg 데이터셋을 가져왔습니다.

import seaborn as sns

df = sns.load_dataset('mpg')
df.head()

 

아래와 같이 bar chart를 애니메이션으로 만들고 싶다면, 변화를 주고 싶은 칼럼을 animiation_frame의 값으로 넣으면 됩니다. horsepower의 평균값을 그리기 위해서, groupby함수를 이용해서 값을 요약했습니다.

import plotly.express as px

df_gr= df.groupby(['origin','model_year'])['horsepower'].mean().reset_index()

px.bar(data_frame=df_gr, x='origin', y='horsepower', animation_frame='model_year')

 

움직이는-바-그래프

 

한 가지 주의할 점은 경우에 따라서 표의 레이아웃을 설정해야 한다는 것입니다. animation_frame의 값에 따라 차트를 그리기 때문에, x 축이나 y축 데이터의 범위가 바뀌게 되면 표가 들쑥날쑥 하게 됩니다. 그런 경우에는 데이터의 범위를 지정해 줘야 합니다.

 

오늘은 이렇게 파이썬 애니메이션 차트 쉽게 만드는 방법에 대해서 알아보았습니다. plotly express에서 그릴 수 있는 거의 대부분의 차트는 animation_frame을 지원합니다. 특히 시간에 따른 변화를 살펴볼 때 유용하게 사용할 수 있습니다.

 

파이썬 대화형 그래프 쉽게 그리기, plotly express 이용 방법은?!

파이썬 그래프를 그리는 패키지는 여러가지가 있다. 보통 matpltlib이나 seaborn 패키지를 많이 이용하지만, 아쉬운 점이 있다. 그래프 항목의 값을 확인하거나 더 시각적으로 뛰어난 그래프에 대한

aplab.tistory.com

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기