PythonのPlotlyライブラリを使ってデータを地図上に表示させる方法

スポンサーリンク

この記事では、Python Plotlyを使って地理的なデータを地図上にプロットする方法を学びます。

このデモでは、ourworldindata.orgのデータセットからCOVID-19の症例をプロットします。

スポンサーリンク

Python で地図上に地理的なデータをプロットする手順

さっそく始めてみましょう。

1. 必要なライブラリのインポート

まずは、必要なライブラリのインポートから始めましょう。


以下の2つのライブラリをインポートする必要があります。

    1. Pandas
  1. 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 dataset
df = pd.read_csv('owid-covid-data.csv')
 
#plot
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()

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 dataset
df = pd.read_csv('owid-covid-data.csv')
 
#select entries with the continent as asia
df = df[df.continent == 'Asia']
 
#plot
fig = 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()

結果は以下の通りです。

Download Dataset
Download Dataset
Dataset
Dataset
Feb
Feb

出力は、1年のうち3つの異なる月に地図がどのように見えるかを示している。

2月には中国で、4月にはアメリカで、9月にはインドで、ウイルスが急速に広まっていることが分かります。

また、地図上の任意の地域にカーソルを合わせると、新規感染者数を表示することができます

Plotlyのアニメーションは、時系列データを可視化するのに便利です。

4. Python Plotly を使って地理データをプロットする完全なコード

このセクションの完全なコードは、以下のとおりです。

Plot Geographical Data - April
April

6. COVID-19 アジアのデータをプロットする

地図の範囲をアジアに設定することもできます。

ここでは、アジアというコンテンツの地理データをプロットする方法を説明します。

プロットの範囲をアジアに設定するには、パラメータ ‘scope’ を ‘asia’ に設定します。

Plot Geographical Data in Python Plotly - September
September

結果は以下の通りです。

アジアのCovid症例このビデオはCOVID-19の各日の新しい症例をアニメーションで表示しています。

まとめ

このチュートリアルは、Python Plotlyで地理的なデータをプロットするものでした。

Python の Plotly を使って Covid-19 データセットからデータをプロットしました。

Plotlyで作成できる他の種類の地図については、彼らの公式ドキュメントを読んでください。

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