七叶树世界地图:国家的默认值

时间:2018-11-16 18:31:43

标签: python leaflet data-visualization geography folium

我正在使用GeoJSON world mapfolium to build a choropleth map

the_map = folium.Map(tiles="cartodbpositron")
the_map.choropleth(
    geo_data=country_shapes,
    name='choropleth',
    data=orders_by_country,
    columns=['country', 'orders'],
    key_on='feature.id',
    fill_color='Blues',
    fill_opacity=0.7,
    line_opacity=0.2,
)
the_map

我得到的结果显示未出现在数据框中的所有国家/地区都以深蓝色阴影显示,这是最大值的颜色。为什么?可以设置默认值吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

Folium 0.8具有针对Choropleth贴图的新属性。请检查文档folium documentationnan_fill_color应该可以解决您的问题。

the_map = folium.Map(tiles="cartodbpositron")
the_map.choropleth(
    geo_data=country_shapes,
    name='choropleth',
    data=orders_by_country,
    columns=['country', 'orders'],
    key_on='feature.id',
    fill_color='Blues',
    nan_fill_color='white',
    fill_opacity=0.7,
    line_opacity=0.2,
)
the_map

答案 1 :(得分:1)

您需要将key_on的值更改为: key_on='feature.properties.name' ,而不是key_on='feature.id

假设您使用以下方法获得country_shapes

url = 'https://raw.githubusercontent.com/python-visualization/folium/master/examples/data'
country_shapes = f'{url}/world-countries.json'

位于github.com/python-visualization/folium/tree/master/examples/data/world-countries.json的json文件中的字典的键确定应为key_on值使用什么。

即(来自world-countries.json

{“ type”:“功能”,“属性” :{“名称” :“阿富汗”},“ geometry”:{“ type”:“多边形”,“坐标”:[[[61.210817,35.650072],...

根据folium documentation中的 Choropleth 类定义:

键输入 (字符串,默认为无) – geo_data GeoJSON文件中的变量,用于将数据绑定到该变量。必须以“功能”开头,并且采用JavaScript异议符号。例如:
‘feature.id’或
‘feature.properties.statename’。