我正在使用GeoJSON world map和folium
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
我得到的结果显示未出现在数据框中的所有国家/地区都以深蓝色阴影显示,这是最大值的颜色。为什么?可以设置默认值吗?
答案 0 :(得分:1)
Folium 0.8具有针对Choropleth贴图的新属性。请检查文档folium documentation。
nan_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’。