Folium TopoJSON热图不会按预期填充

时间:2017-08-08 22:26:47

标签: python pandas topojson folium

我正在尝试使用自定义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
                 )

输出如下:

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

我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:4)

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