★悩み★
・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)の作り方は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。
コメント