COBAKURA.COM

順位が入れ替わる動くグラフ バーチャートレースの作り方

時間の進みとともに順位の入れ替わりがわかる動的なグラフの作り方です。Bar Chart Raceと呼ばれます。

bar-chart-race

2つの方法を紹介します。

  1. Pythonで作る
  2. 生成ツールで作る

Pythonでバーチャートレースを作る

以下のようなCSVデータを想定します。日付ごとに各チームのポイントが記録されています。

data.csv
Date,チームA,チームB,チームC
2023-01-01,4,14,4
2023-01-02,34,32,5
2023-01-03,45,49,6
2023-01-04,56,50,7
2023-01-05,67,60,8
2023-01-06,87,80,9
2023-01-07,89,80,12
2023-01-08,99,90,100
2023-01-09,100,100,110
2023-01-10,120,121,130

ローカルのPython環境を使用しても良いですがGoogle Colaboratory を使うと便利です。

以下、コードです。

bar-chart-race.ipynb
!pip install bar_chart_race  # バーチャートレース生成ライブラリ
!pip install japanize-matplotlib  # グラフの日本語表示対応

import pandas as pd
import bar_chart_race as bcr
import japanize_matplotlib

# CSVファイル読み込み
df = pd.read_csv("/content/bcr.csv")

# インデックスとなる列を指定。今回はDate列。
df = df.set_index("Date")

# バーチャートレースのグラフを生成・表示
bcr.bar_chart_race(df)

これでGoogle Colaboratory上でバーチャートレースの動画を表示することができます。

生成ツールでバーチャートレースを作る

バーチャートレースを生成ツールがいくつかあります。

  1. バーチャートレースアプリ
  2. Bar chart race generator

これらのツールにCSVファイルを読み込ませることでもグラフを作ることができます。