
まくまく
プラグラミング言語「PYTHON」を使ってみよう!!業務自動化・効率化の実例を踏まえ、解説できればと思っています。対象は、プログラムを学び始めた初心者向けとなります。
今回の内容
- Pandasでcsvファイルを読み込み
- plotlyで地図上に情報を表示する
使用するのはPlotly
使用するライブラリは、見た目のよいイマドキのグラフが作成できるPlotly。エクセルでは作れない高度なグラフも作成できるおすすめのライブラリです。
ここではPlotlyがインストールされているのを前提として書き進めていきます。
サンプルコード
import pandas as pd
import plotly
import plotly.express as px
df = pd.read_csv('maptest1.csv')
fig = px.scatter_mapbox(df, lat="lat", lon="lon", hover_name="City", hover_data=['City','Population'],
color_discrete_sequence=["fuchsia"], zoom=5, height=300)
fig.update_layout(mapbox_style="open-street-map")
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})
fig.show()
コメント
- 5行目「df = pd.read_csv〜」で、csvファイルの読み込み
- 7行目「fig = px.scatter_mapbox」で、dfを読み込み地図上にプロット
- 8行目「zoom」で地図の拡大率を設定、「height」で、地図の大きさを設定
Plotlyの公式サイトを参考にして、東京と大阪の人口を地図上に表示してみました。
元データはこちら。
「lat」はlatitude(緯度)、「lon」はlongitude(経度)です。
出力
令和2年の東京の人口は1399万人、大阪は881万人です。カーソルを合わせるとデータが表示できます。プレゼンなどで使うと注目を浴びそうですね。
人口の数に合わせてプロットの大きさが変わってくれるとさらに良さそうです。
↑Plotlyを使うならこれ!!Plotly&Dashが学べます!
↑データの前処理はPandasで。