Plotly㉕(地図上の散布図)

地図上の散布図

Plotlyで地図上に散布図を表示するにはScattergeoクラスを使用します。

Scattergeoクラスの引数は下記の通りです。

  • lon
    経度を設定。
  • lat
    緯度を設定。
  • mode
    描画モードを設定。
    “markers”を設定すると散布図で表示。

以下のコードでは、地図上に散布図を描画し、要素のサイズと色で値を表現しています。

[Google Colaboratory]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import numpy as np
import plotly.graph_objects as go

populations = np.array([38_505_000, 34_365_000, 28_125_000])
area = np.array([8_223, 3_367, 2_240])
lon, lat = [139.691711, 106.845131, 77.216667], [35.6, -6.214620, 28.666668]
text = ["Tokyo", "Jakarta", "Delhi"]
go.Figure(
[
go.Scattergeo(
lon=lon, # 経度
lat=lat, # 緯度
marker={
"size": populations / 1_000_000, # 要素の大きさ
"color": populations / area, # 要素の色
"cmin": 1000, # 色の下限値
"cmax": 15000, # 色の上限値
"colorbar": {"title": "人口密度"} # カラーバーを表示し、タイトルを指定
},
text=text, # ホバーツールに表示するテキスト
mode="markers" # 散布図として描画
)
],
layout={"geo": {"scope": "asia"}}
).show()

[実行結果]