この記事では、Python Plotlyを使って地理的なデータを地図上にプロットする方法を学びます。
このデモでは、ourworldindata.orgのデータセットからCOVID-19の症例をプロットします。
Python で地図上に地理的なデータをプロットする手順
さっそく始めてみましょう。
1. 必要なライブラリのインポート
まずは、必要なライブラリのインポートから始めましょう。
以下の2つのライブラリをインポートする必要があります。
-
- Pandas
- Plotly.express
import pandas as pd
import plotly.express as px
|
それでは次のステップ、データセットのダウンロードに移ります。
2. データセットのダウンロードと読み込み
データセットをダウンロードし、読み込むには、次のようなコードを使用します。
!wget https://covid.ourworldindata.org/data/owid-covid-data.csv
|
結果は以下の通りです。
df = pd.read_csv('owid-covid-data.csv')
df.head() |
Pythonでpandas read_csvメソッドを使ってCSVデータセットを読み込む。
出力 :
fig = px.choropleth(df, locations="iso_code",
color="new_cases",
hover_name="location",
animation_frame="date",
title = "Covid Cases plotted using Plotly", color_continuous_scale=px.colors.sequential.PuRd)
fig["layout"].pop("updatemenus")
fig.show() |
import pandas as pd
import plotly.express as px
#download dataset!wget https://covid.ourworldindata.org/data/owid-covid-data.csv
#import datasetdf = pd.read_csv('owid-covid-data.csv')
#plotfig = px.choropleth(df, locations="iso_code",
color="new_cases",
hover_name="location",
animation_frame="date",
title = "Covid Cases plotted using Plotly", color_continuous_scale=px.colors.sequential.PuRd)
fig["layout"].pop("updatemenus")
fig.show() |
3. COVID-19 データセットを地図上にプロットする
さて、Plotly を使って上のデータセットからデータをプロットしてみましょう。
ここでは、Choropleth Map をプロットします。
これは、あらかじめ定義された領域内の濃淡の違い、色の違い、記号の配置を利用して、それらの領域における特定の量の平均値を示す地図です。
私たちは、毎日の新しい症例数をプロットするつもりです。
Plotlyではアニメーションでそれを行うことができます。
以下は、地図上に色と陰影をプロットするコードです。
import pandas as pd
import plotly.express as px
#download dataset!wget https://covid.ourworldindata.org/data/owid-covid-data.csv
#import datasetdf = pd.read_csv('owid-covid-data.csv')
#select entries with the continent as asiadf = df[df.continent == 'Asia']
#plotfig = px.choropleth(df, locations="iso_code",
color="new_cases",
hover_name="location",
animation_frame="date",
title = "Daily new COVID cases",
scope ='asia', color_continuous_scale=px.colors.sequential.PuRd)
fig["layout"].pop("updatemenus")
fig.show() |
結果は以下の通りです。



出力は、1年のうち3つの異なる月に地図がどのように見えるかを示している。
2月には中国で、4月にはアメリカで、9月にはインドで、ウイルスが急速に広まっていることが分かります。
また、地図上の任意の地域にカーソルを合わせると、新規感染者数を表示することができます。
Plotlyのアニメーションは、時系列データを可視化するのに便利です。
4. Python Plotly を使って地理データをプロットする完全なコード
このセクションの完全なコードは、以下のとおりです。

6. COVID-19 アジアのデータをプロットする
地図の範囲をアジアに設定することもできます。
ここでは、アジアというコンテンツの地理データをプロットする方法を説明します。
プロットの範囲をアジアに設定するには、パラメータ ‘scope’ を ‘asia’ に設定します。

結果は以下の通りです。
アジアのCovid症例このビデオはCOVID-19の各日の新しい症例をアニメーションで表示しています。
まとめ
このチュートリアルは、Python Plotlyで地理的なデータをプロットするものでした。
Python の Plotly を使って Covid-19 データセットからデータをプロットしました。
Plotlyで作成できる他の種類の地図については、彼らの公式ドキュメントを読んでください。