我从另一个页面“Make colorbar legend in Matplotlib/Cartopy”尝试了他的例子但是当我试图在Jupyter Notebook中运行它时会抛出这样的错误:
function getEmployees () { ... }
请帮忙!代码示例:
KeyError Traceback (most recent call last)
<ipython-input-3-55c282431f2e> in <module>()
14 ax = plt.axes(projection=ccrs.Robinson())
15 for country in shpreader.Reader(countries_shp).records():
---> 16 name = country.attributes['name_long']
17 num_users = countries[name]
18 ax.add_geometries(country.geometry, ccrs.PlateCarree(),
KeyError: 'name_long'
答案 0 :(得分:1)
您的country.attributes字典/地图没有键'name_long'
的值。
您所在的国家/地区是Record
所提供的documentation for shapereader。
记录具有属性,它只是一个普通字典。无论您正在阅读的数据是什么,都没有'name_long'
属性。
您似乎是来自downloading the data网站的NaturalEarthData
。因此,请检查实际可用的属性。
根据您的评论,您似乎拥有'NAME_LONG'
密钥,但是...... 'NAME_LONG' != 'name_long'