Python 에는 Bar Chart Race 라는 재미있는 패키지가 있다.
준비물
1) 데이터가 담긴 DataFrame
다음의 형식이여야 한다.
wakA wakAh wakAjd wakAnha wakB wakChok ... wakCut wakLegeno2 wakLpc wakMs3 wakBj wakWgt
DATE ...
2021-11-15 2882 136 219 733.0 122 79 ... NaN NaN NaN NaN NaN NaN
2021-11-17 360 103 35 303.0 84 46 ... NaN NaN NaN NaN NaN 5.0
2021-11-18 1116 111 14 5.0 138 6 ... NaN NaN NaN 9.0 NaN NaN
2021-11-19 1788 253 22 158.0 151 41 ... NaN NaN NaN NaN NaN 8.0
... ... ... ... ... ... ... ... ... ... ... ... ... ...
2022-03-10 6658 292 87 501.0 85 190 ... NaN 1.0 5.0 NaN NaN NaN
2022-03-11 23842 269 82 1039.0 406 634 ... NaN NaN 10.0 13.0 2.0 NaN
2022-03-12 5239 602 159 956.0 208 163 ... NaN 9.0 16.0 NaN NaN NaN
2022-03-13 3555 305 182 40.0 303 26 ... NaN NaN NaN NaN 10.0 NaN
2022-03-14 110 3 4 NaN 2 4 ... NaN NaN NaN NaN NaN NaN
(index 가 row고 value 가 column인 형식 )
2) pip install bar-chart-race
주의 , pip install bar-chart-race 를하면 image-label-folder 변수가 없어 이미지라벨을 붙일수가 없다. 대신
pip install git+https://github.com/programiz/bar_chart_race.git@master
를 사용할 것.
전처리를 통해 위의 형식으로 데이터를 만드는데 성공하면, 아래의 코드대로 Chart Race video 를 만들 수 있다.
import bar_chart_race as bcr
# df 변수 생성
bcr.bar_chart_race(
df=df,
filename="video.mp4",
img_label_folder = "bar_image_labels",
# 바 개수 (Top 순으로 정렬)
n_bars=7,
# smoothness of the animation
steps_per_period=45,
# time period in ms for each row
period_length=1500,
)
dataframe 만 준비해놓고 위의 코드를 실행하기만 하면 비디오 파일이 생성된다.
파이썬은 2022년 현재 가장 핫한 프로그래밍 언어이니 만큼 다양한 라이브러리가 있는데 이러한 라이브러리도 있다는 걸 알 수 있다. 다음은 bar chart race 라이브러리를 통해 생성한 영상파일의 예시다.
물론 Flourish 처럼 데이터 시각화 관련 제대로 된 사이트가 없다면 이것을 사용했을 수도 있다.
혹은 Flourish 도 부족하다 느낄 경우 이 패키지를 좀 더 수정하고 개선해서 개인적으로 사용할 수도 있다.
예를들어 위 영상에서 좀 거슬리는 세로 그리드 표시를 제거한다든지...
언젠가 데이터 시각화 관련해서 무언갈 해야될 때 이 패키지를 수정할 기회가 올 수도 있겠다.
이 패키지는 현재 라인 차트는 제대로 사용할 수 없는 등 여러 문제가 있다.
Flourish 라는 훨씬 제대로 된 사이트가 있다.
Data Visualization 에 관해 여러 기능들이 아주 잘 갖춰진 사이트인데, 결론은 위처럼 파이썬에는 이런 라이브러리가 있다~ 는 것 정도만 알아두고, Data Visualization 이 필요하면 Flourish 를 이용하도록 하자.
아래 예시는 Flourish를 통해 생성한 한 차트의 예시다.