【Python】 Bar Chart Race を使ってグラフ動画を作る
Python で Bar Chart Race を使用してグラフ動画を作る方法。
環境
ffmpeg の導入
動画作成用に ffmpeg
を導入してください。
apt install -y ffmpeg
パッケージインストール
動画作成用のパッケージ
Bar Chart Race
pip bar_chart_race
グラフの日本語表示用パッケージ
japanize-matplotlib - PyPI
pip japanize_matplotlib
ソースコード
グラフの元データは 新型コロナウイルス(COVID-19)感染症の対応について|内閣官房新型コロナウイルス感染症対策推進室 から取得させていただいています。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| import requests
import json
import pandas as pd
import bar_chart_race as bcr
import japanize_matplotlib
# コロナの感染者を取得
r = requests.get('https://opendata.corona.go.jp/api/Covid19JapanAll')
with open('covid19_daily.json', 'w') as f:
f.write(r.text)
# JSONを読み込む
data = json.load(open('covid19_daily.json'))
# JSONをデータフレームにする
df = pd.DataFrame(data["itemList"])
# 整形
# 10行ごとにデータ変換
df = df.pivot_table(
index='date',
columns='name_jp',
values='npatients').dropna()[::10]
# アニメーションをmp4で保存する
bcr.bar_chart_race(
df=df,
filename='covid19_daily.mp4',
title='COVID-19 都道府県別感染者数',
orientation='h',
sort='desc',
n_bars=10,
)
|
動画
出来上がった動画はこちらになります。
参考