
まくまく
プラグラミング言語「PYTHON」を使ってみよう!!業務自動化・効率化の実例を踏まえ、解説できればと思っています。対象は、プログラムを学び始めた初心者向けとなります。
今回の内容
- Pandasでcsvファイルを読み込み
- plotlyとMapboxを使って人口をサイズ別に表示
使用するのはPlotly
使用するライブラリは、見た目のよいイマドキのグラフが作成できるPlotly。エクセルでは作れない高度なグラフも作成できるおすすめのライブラリです。
ここではPlotlyがインストールされているのを前提として書き進めていきます。
サンプルコード
import pandas as pd
import plotly.express as px
df = pd.read_csv('maptest2.csv')
fig = px.scatter_mapbox(df, lat="lat", lon="lon",size="population",color="city",size_max=50,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()
コメント
前回の記事「【Python】Plotlyを使って東京都と大阪の人口を地図上にプロット」の
続きなので、変更点のみ記載しておきます。
「fig = px.scatter_mapbox(df,〜」の行を変更しました。
fig = px.scatter_mapbox(df, lat=”lat”, lon=”lon”,size=”population”,color=”city”,size_max=50,zoom=5, height=300)
着色しているところが変更点です。これで前回のように単なる点ではなく、人口に応じてサイズが変わるようになりました。意外に簡単でしたね。
元データはこちら。
「lat」はlatitude(緯度)、「lon」はlongitude(経度)です。
出力
↑Plotlyを使うならこれ!!Plotly&Dashが学べます!
↑データの前処理はPandasで。