コロプレス図

カテゴリ:地図
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

countrycontinentyearlifeExppopgdpPercapiso_alphaiso_num
AfghanistanAsia195228.8018425333779.4453145AFG4

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.csvUnited States
countries.geo.jsonUnited 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 を指定します。

戻る