我对python和多边形还不熟悉。我被要求从一个数据框中创建一个字典,其中包含2016年以来美国每个州的人口总数。你知道吗
population_mean = population_data_all.groupby(by=['NAME'], as_index=False)[['POPEST2016_CIV']].sum()
population_dict = population_mean.set_index('NAME').T.to_dict('list')
population_dict
字典的输出示例:
{'Alabama': [4849650], 'Alaska': [720195], 'Arizona': [6911889], 'Arkansas': [2982997], 'California': [39091453], 'Colorado': [5506673], 'Connecticut': [3568865], 'Delaware': [948534]}
然后我被要求得到一个美国国家的geojson文件 来源-美国50个州的ArcGIS形状文件+DC(https://www.arcgis.com/home/item.html?id=f7f805eb65eb4ab787a0a3e1116ca7e5)
然后被要求绘制它,并根据shapefile将阿拉斯加的颜色改为红色,这是我用这个代码做的。你知道吗
fig = plt.figure()
ax = fig.gca()
BLUE = '#5599ff'
RED = '#FF0000'
for feature in data['features']:
geometry = feature['geometry']
state = feature['properties']['STATE_NAME']
if geometry['type'] == 'Polygon':
poly = geometry
ppatch = PolygonPatch(poly, fc=BLUE, ec=BLUE, alpha=0.5, zorder=2)
ax.add_patch(ppatch)
elif geometry['type'] == 'MultiPolygon':
for polygon in geometry['coordinates'][0]:
if state == 'Alaska':
poly = Polygon(polygon)
ppatch = PolygonPatch(poly, fc=RED, ec=RED, alpha=0.5, zorder=2)
ax.add_patch(ppatch)
else:
poly = Polygon(polygon)
ppatch = PolygonPatch(poly, fc=BLUE, ec=BLUE, alpha=0.5, zorder=2)
ax.add_patch(ppatch)
else:
print('Don\'t know how to draw :', geometry['type'])
ax.axis('scaled')
plt.axis('off')
plt.show()
但是,我迷路了,需要帮助如何使用上面字典中的值来为多边形着色。例如,使用一个颜色映射,因此每个州都会根据其人口获得一种颜色。你知道吗
谢谢!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐