2017-08-08 78 views
0

我正在尝试使用自定义topoJSON文件和数据框来显示叶子热图。该地图用均匀阴影的等值线代替预期的热图生成。Folium TopoJSON热图不按预期方式填充

继承人的代码片段我使用(不包括基本进口,建立数据帧的):

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 
       ) 

输出看起来是这样的:

Output map, not as expected

我试着将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

我在做什么错?谢谢!

回答

3

我知道这可能听起来很愚蠢,但我总是发现这些问题归结为不匹配的数据类型或领先/滞后空间。祝你好运!

+0

原来它需要是一个特定类型的'int' - 谢谢Scott! –