★悩み★
・SNSでよく見かけるバーチャートレースの作り方を知りたいな。
・興味のあるデータを用いたバーチャートレースの作り方を知りたいな。
こういった「悩み」に答えます。
 
★本記事の内容★
① 「バーチャートレース(BarChartRace)とは?」をご紹介
② バーチャートレース(BarChartRace)の作り方をご紹介
これからご紹介する「バーチャートレース(BarChartRace)の作り方」を実践したことで、筆者は60分以内で以下のバーチャートレース(BarChartRace)を作成できました。
 
記事の前半では「バーチャートレース(BarChartRace)とは何か?」を解説します。
記事の後半では「興味のあるデータを用いたバーチャートレース(BarChartRace)の作り方」をご紹介します。
この記事を読み終えることで、「お好きなデータを用いたバーチャートレース(BarChartRace)の作り方」と「バーチャートレース(BarChartRace)とは何か」を把握した状態になります。
 
 
バーチャートレース(BarChartRace)とは?
「バーチャートレース(BarChartRace)とは、何か?」に関しては、以下の記事をご覧ください。
 
上の記事で、バーチャートレース(BarChartRace)の以下を解説しています。
・定義と事例
・利用場面
・作成ツール
以上が、「バーチャートレース(BarChartRace)とは?」に関してでした。
データさえ揃えば、誰しも簡単にバーチャートレースを作成できます。
以降で、お好きなデータを用いたバーチャートレースの作り方を説明します。
 
バーチャートレース(BarChartRace)の作り方
「バーチャートレース(BarChartRace)の作り方」に関してご説明します。
 
★バーチャートレース(BarChartRace)の作り方の流れ★
手順1:バーチャートレースで表現したい内容を考える
手順2:バーチャートレースで表現したい内容のデータを集める
手順3:集めたデータをバーチャートレースに適する形式に整形する
手順4:バーチャートレースを作成する環境を整える
手順5:バーチャートレースで可視化する
上記の流れで、好きなデータを用いて、バーチャートレース(BarChartRace)を作れます。
以降で、「バーチャートレース(BarChartRace)の作り方の流れ」の各手順に関してご紹介します。
 
手順1:バーチャートレースで表現したい内容を考える
「手順1:バーチャートレースで表現したい内容を考える」に関してご説明します。
 
バーチャートレース(BarChartRace)を作るためには、「どのようなデータを可視化したいか」を考える必要があります。
SNSなどでよく見かける題材としては、以下となります。
 
★バーチャートレース(BarChartRace)の題材★
・芸能人のTwitterフォロワー数の推移
・コロナ感染者数の推移
・各企業の年間売上ランキング
モチベーションを持続させるためにも、題材として、「趣味に関するもの」や「自身が気になること」を選ぶことをオススメします。
 
今回は、「日本のコロナ感染者数の推移」を題材として以降の手順をご説明します。
以上で、「手順1:バーチャートレースで表現したい内容を考える」は完了です。
 
手順2:バーチャートレースで表現したい内容のデータを集める
「手順2:バーチャートレースで表現したい内容のデータを集める」に関してご説明します。
 
バーチャートレース(BarChartRace)を作るためには「データ」が必要です。まずは、データを集めましょう。
「日本のコロナ感染者数の推移」に関するデータを取得するために、以下にアクセスしましょう。
「データのダウンロードはこちら」(下図の赤枠)をクリックし、「日本のコロナ感染者数の推移」のデータをダウンロードしましょう。
 

以上で、「手順2:バーチャートレースで表現したい内容のデータを集める」は完了です。
 
手順3:集めたデータをバーチャートレースに適する形式に整形する
「手順3:集めたデータをバーチャートレースに適する形式に整形する」に関してご紹介します。
 
バーチャートレース(BarChartRace)を作るためにデータを整形しましょう。
手順2で取得した「日本のコロナ感染者数の推移」データは、以下の形式をしています。
 

バーチャートレース(BarChartRace)を作るために、以下の形式にデータを整形しましょう。
 

Excelを用いてデータ整形は可能ですが、時間がかかるためPythonを利用しましょう。
 
データ整形する時間がない方は、「日本のコロナ感染者数の推移」データを整形した以下の「バーチャートレース向けデータ」をダウンロードしてください。
 
Pythonのインストール
以下の記事を参考にし、お使いのパソコンやサーバーにPythonをインストールしましょう。
>> 【ubuntu向け】pyenvでPythonをインストールする手順【簡単】
>> 【コピペOK】pyenvでPythonをインストールする手順【Linux用】
>> 【最短5分】PyAutoGUIをWindowsにインストールする手順の「手順1:Pythonのインストール」を参照
>> 【環境構築】インストーラーでMacOSにPythonをインストール
 
Pythonでデータ整形
以下のPythonプログラムを実行することで、「日本のコロナ感染者数の推移」データをバーチャートレース(BarChartRace)向けのデータに整形できます。
# データ読み込み
nhk_data = open("nhk_news_covid19_prefectures_daily_data.csv", "r")
data_dict = {} # key: date value: {region:day_num}
region_set = set()
read_header = False
for line in nhk_data:
  if read_header == False:
    read_header = True
    continue
  data = line.replace('\n','').split(",")
  date = data[0]
  region = data[2]
  total_num = data[4]
  if date not in data_dict.keys():
    data_dict[date] = {}
  data_dict[date][region] = total_num
  region_set.add(region)
nhk_data.close()
region_list = list(region_set)
# 整形したデータの作成
header_str = "日付," + (",").join(region_list) # ヘッダーの作成
f = open('shaped_nhk_news_covid19_prefectures_daily_data.csv', 'w', encoding='UTF-8')
f.write(header_str+"\n")
for date, value_dict in data_dict.items():
  data_line = date
  for region in region_list:
    data_line += "," + value_dict[region]
  f.write(data_line + "\n")
f.close()
以上で、「手順3:集めたデータをバーチャートレースに適する形式に整形する」は完了です。
 
手順4:バーチャートレースを作成する環境を整える
「手順4:バーチャートレースを作成する環境を整える」関してご説明します。
 
バーチャートレースを作成できる無料ツール「bar_chart_race」をインストールしましょう。
「bar_chart_race」のインストールに関しては、以下の記事をご覧ください。
 
以上で、「手順4:バーチャートレースを作成する環境を整える」は完了です。
 
手順5:バーチャートレースで可視化する
「手順5:バーチャートレースで可視化する」に関してご説明します。
 
最後に、整形したデータをバーチャートレースで可視化しましょう。
以下のプログラムを「create_barchartrace.py」のファイル名で保存しましょう。
import pandas as pd
import bar_chart_race as bcr
# 整形したデータの読み込み
index_col = "日付"
parse_dates = [index_col] if index_col else None
df = pd.read_csv("shaped_nhk_news_covid19_prefectures_daily_data.csv", index_col=index_col, parse_dates=parse_dates)
# 整形したデータを元にバーチャートレースを作成
bcr.bar_chart_race(
    df=df,
    filename='covid19_japan.mp4',
    orientation='h',
    sort='desc',
    n_bars=15,
    label_bars=True,
    steps_per_period=10,
    period_length=500,
    figsize=(6.5, 3.5),
    cmap='dark24',
    title='各地の感染者数(累計)',
    bar_label_size=7,
    tick_label_size=7,
    shared_fontdict={'family' : 'IPAGothic', 'weight' : 'bold', 'color' : '.1'},
    fig=None)
「create_barchartrace.py」を実行するために、以下のコマンドを実行しましょう。
# python create_barchartrace.py
上記コマンドが正常に終了した場合、「covid19_japan.mp4」(冒頭でお見せしたYoutubeの動画)のファイルが生成されます。
 
動画内の日本語が「◻︎◻︎◻︎◻︎」となる場合は、日本語フォントをインストールするために以下を実施しましょう。
# yum install ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts
# rm -f /home/hadoop/.cache/matplotlib/fontlist-v330.json
以上で、「手順5:バーチャートレースで可視化する」は完了です。
 
上記の手順が、「好きなデータを用いてバーチャートレース(BarChartRace)の作り方」となります。
 
【まとめ】SNSで話題なバーチャートレースの作り方【Python】
今回の記事を通して、「バーチャートレースの作り方」をご紹介することで、以下の悩みを解消しました。
 
★悩み★
・SNSでよく見かけるバーチャートレースの作り方を知りたいな。
・興味のあるデータを用いたバーチャートレースの作り方を知りたいな。
「好きなデータを用いてバーチャートレース(BarChartRace)の作り方は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。
 
 
 
  
  
  
  




コメント