我正在尝试使用自定义topoJSON文件和数据框显示folors choropleth热图。地图生成的是均匀着色的等值线,而不是预期的热图。
下面是我正在使用的代码片段(不包括基本导入,数据帧的创建):
cols = ['dma', 'values']
center_us_long_lat = [39.50, -98.35]
topo_path = r'../../data/designated_marketing_areas_us_topo.json'
us_map = folium.Map(location=center_us_long_lat,attr='dma_code',
tiles='Mapbox Bright', zoom_start=4, min_zoom=4)
us_map.choropleth(geo_path=topo_path, topojson='objects.nielsen_dma',
data=df, columns=cols,
fill_opacity=0.7,
key_on="feature.properties.dma",
line_color='white', fill_color='YlOrRd',
highlight=True
)
输出如下:
我已尝试将key_on
参数调整为feature.dma
,但这会产生相同的输出。
作为参考,这是df
数据的示例:
In[1]:
df.head():
Out[1]:
dma values
1 501 16.749
2 740 8.858
3 807 15.790
4 511 15.315
5 798 8.425
可以找到topojson here
我做错了什么?谢谢!
答案 0 :(得分:4)
我知道这可能听起来很愚蠢,但我总是发现这些问题归结为不匹配的数据类型或领先/滞后的空间。祝你好运!