カテゴリ:地図
import folium
map = folium.Map(location=[0, 0],zoom_start = 1)
ch = folium.Choropleth(geo_data='countries.geo.json',
data=df2,
columns=['iso_alpha', 'lifeExp'],
key_on='feature.id',
fill_color='OrRd' )
ch.add_to(map)
map
columnsとkey_onの設定の仕方
columns=[国を表すCSVの列, 色に反映させるCSVの列],
key_on='国を表すGeoJsonの場所',
国を表すCSVの列 と 国を表すGeoJsonの場所 の内容が一致しないといけない。
gap.csv
| country | continent | year | lifeExp | pop | gdpPercap | iso_alpha | iso_num |
|---|---|---|---|---|---|---|---|
| Afghanistan | Asia | 1952 | 28.801 | 8425333 | 779.4453145 | AFG | 4 |
countries.geo.json
※最初の部分を見やすいように改行しています
{
"type":"FeatureCollection",
"features":[
{
"type":"Feature",
"id":"AFG",
"properties":{"name":"Afghanistan"},
データ(gap.csv)とcountries.geo.jsonファイルとで一致する列、場所を探す。
gap.csvで国を特定できる列はcountry(国名)やiso_alphaである。
countryでもよさそうだが、実際には異なる名前になっている国もある。
例:アメリカ
| 内容 | |
|---|---|
| gap.csv | United States |
| countries.geo.json | United States of America |
そこで、gap.csvのiso_alphaを使う。
countries.geo.jsonファイルには、features配列の中の id という場所にあるので、
feature.id
を指定する。
※ feature. は GeoJSON の features 配列内の各要素を指す記法です(foliumの仕様)
※参考:もしcsv側でcountryを使用する場合には、key_on は feature.properties.name を指定します。