COVID-19の総感染者数をPlotly Expressを使って世界地図にヒートマップで表示する

Python

オープンデータを使ってCOVID-19の総感染者数を世界地図にヒートマップで表示させる方法を紹介します。また、日毎にアニメーションさせて推移をわかりやすく表示してみました。

今回は、plotly.expressのchoropleth()を使用して、世界地図をヒートマップ化します。

人工知能と機械学習の人気オンライン講座

使用データ

  • 使用するデータは下記です。
出典:https://ourworldindata.org/coronavirus/country/united-states?country=~USA

Plotly Expressでグラフを描画する

  • 下記にはまとめていない、世界地図にヒートマップを作成する方法をご紹介します。

ソースコード(世界地図にヒートマップを表示する)

  1. ライブラリのインポート
  2. COVID-19のオープンデータをpd.read_csv()で読み込む
  3. px.choropleth()で世界地図ヒートマップを描画する
import pandas as pd
import plotly.express as px

covid_df = pd.read_csv('./sample_data/owid-covid-data.csv',index_col='date',parse_dates=True)

fig = px.choropleth(covid_df, 
                    locations="iso_code",
                    color='total_cases', 
                    animation_frame=covid_df.index.strftime('%Y/%m/%d'),
                    range_color=[0,1000000])

fig.show()

ソースコード解説

オープンデータから取得したデータをデータフレームとして読み込みます。indexはdate列を使用しました。

covid_df = pd.read_csv('./sample_data/owid-covid-data.csv',index_col='date',parse_dates=True)

データの詳細が気になる方はオープンデータからデータを取得してみていただければと思います。

United States: Coronavirus Pandemic Country Profile
United States: What has been the impact of the Coronavirus Pandemic (COVID-19)?

世界地図ヒートマップの描画にはpx.choropleth()を使用します。px.choropleth()の引数は下記のようになっています。

fig = px.choropleth(covid_df, 
                    locations="iso_code",
                    color='total_cases', 
                    animation_frame=covid_df.index.strftime('%Y/%m/%d'),
                    range_color=[0,1000000])
locations‘ISO-3’, ‘USA-states’, ‘country names’に準じた国名コードが記載されている列を指定します。
今回は、オープンデータの’iso_code’を指定します。
colorどの列の値で色を変えるか指定します。今回は、オープンデータの’total_cases’の数値で色を変化させています。
animation_frameanimationさせる指標となる列を指定します。
今回は、データフレームのindexを指定することで1日毎のデータがアニメーションで見ることができるようになります。
range_color色の範囲を指定します。今回は、0人-100万人までとしています。
plotly.express.choropleth — 4.11.0 documentation

国名コード

国名コードが気になる方は下記を参照してください。

国名コード

おわりに

アニメーション等動きがあるほうがお客さんが納得することが多かったため、こんな手軽にアニメーショングラフを作れるplotly.expressは控えめに言って神だと思いました。

使い勝手としては、ほかの可視化ライブラリと比べると癖があるので慣れるまでは大変かと思いますが…

参考

【世界で5万人が受講】実践 Python データサイエンス・オンライン講座

最短・最速で脱プログラミング初心者|Skill Hacks(スキルハックス)

コメント

タイトルとURLをコピーしました