2

我正在尝试使用 folium 创建一个等值线图,如下所示:https ://pypi.python.org/pypi/folium 。目标是生成美国失业率的等值线图,但是当我打开地图时,美国各州没有阴影。有什么建议吗?

import folium
import pandas as pd

state_geo = r'data/us-states.json'
state_unemployment = r'data/US_Unemployment_Oct2012.csv'

state_data = pd.read_csv(state_unemployment)

#Let Folium determine the scale
map = folium.Map(location=[48, -102], zoom_start=3)
map.geo_json(geo_path=state_geo, data=state_data,
             columns=['State', 'Unemployment'],
             key_on='feature.id',
             fill_color='YlGn', fill_opacity=0.7, line_opacity=0.2,
             legend_name='Unemployment Rate (%)')
map.create_map(path='us_states.html')

谢谢,

4

1 回答 1

2

我认为问题是列名不匹配:

1) data=state_data 有列 ['State', 'Unemployment'] 2) 打开 us-states.json 会发现 key_on='feature.id' 对应 '01', '02' 等等。 .

在 folium 中,key_on 假设与第一列数据匹配,在本例中为“状态”。

但是 '01', '02' .. 不适合具有 'AL', 'AK', 'AZ' 的 'State' 列..

如果您可以在 us-states.json 中找到与“States”列匹配的 key_on,我认为它应该可以解决您的问题。

注意:我假设 us-states.json 来自https://raw.githubusercontent.com/alignedleft/d3-book/master/chapter_12/us-states.json和 US_Unemployment_Oct2012.csv 来自https://raw.githubusercontent。 com/python-visualization/folium/master/examples/US_Unemployment_Oct2012.csv

于 2016-07-07T09:07:51.950 回答