我想制作一个圆形的世界地图。 我在数据框世界中添加了一个列,其中包含每个国家/地区的多次发生。我有一个字典,其中包含每个国家/地区的名称以及我自己的数据集中每个国家/地区出现的次数。我已使用以下代码将此字典按国家/地区名称匹配到世界数据框:
world_countries = world['name'].tolist()
count_i = []
for i in world_countries:
if i in countries_i:
count_i.append(countries_i[i])
else:
count_i.append(np.nan)
count_u = []
for i in world_countries:
if i in countries_u:
count_u.append(countries_u[i])
else:
count_u.append(np.nan)
world['count_i'] = count_i
world['count_u'] = count_u
这一切都很好,因此我添加了两个与国家名称匹配的新列,其中没有发生任何事件的国家都只有NaN。
然后我尝试使用以下代码绘制地图:
fig,ax = plt.subplots(1, 1)
divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.1)
world.plot(column='count_u',
ax=ax,
legend=True,
cax=cax,
edgecolor='k',
legend_kwds={'label':'Developing Countries',
'orientation':'vertical'},
cmap='GnBu',
figsize=(15, 10),
missing_kwds={'color': 'lightgrey'})
但是,missing_kwds一直给我一个错误,说'PatchCollection'对象没有属性'missing_kwds'。我刚刚安装了GeoPandas,所以它应该是具有'missing_kwds'的最新系统,但对我不起作用。我尝试绘制另一列以查看该特定列是否存在问题,但这没什么区别。在没有missing_kwds的情况下,该代码有效,但是绘制了所有具有NaN的国家/地区,因此我无法分辨出现fx 2个事件的国家与0个国家(即NaN)之间的差异。怎么了?
答案 0 :(得分:0)
您可能正在使用旧版的GeoPandas。如果您更新到最新版本(0.8.1),则您的代码将起作用。 missing_kwds
是最近添加的内容,在旧版本中不起作用。