我使用以下代码创建了澳大利亚地方政府区域壁球场供过于求或短缺的热图(深红色供不应求,深绿色供过于求):
variable = "SHORTAGE"
找到中心点,将原始df复制到新的df,然后设置
几何列到新创建的中心点列
(因为GeoPandas df只能有一个几何列)
merged_aus_map["center"] = merged_aus_map["geometry"].centroid
map_df_points = merged_aus_map.copy()
map_df_points.set_geometry("center", inplace = True)
AUS_Heatmap = merged_aus_map.plot(figsize = (40, 32),column=variable,cmap
= 'RdYlGn', linewidth=0.8, edgecolor="0.8");
texts = []
for x, y, label in zip(map_df_points.geometry.x, map_df_points.geometry.y,
map_df_points['LGA_NAME16']):
texts.append(plt.text(x, y, label, fontsize = 10))
aT.adjust_text(texts, force_points=0.3, force_text=0.8, expand_points=(1,1),
arrowprops=dict(arrowstyle="-", color='grey', lw=0.5))
这就是所产生的
Australia map show over or undersupply of squash courts
我想在地图上覆盖每个LGA上标记的上方,这些标记显示该LGA中的壁球设施,并用我的数据帧最后一列中的值(称为生命周期)上色。如果生命周期值为3,则标记为红色,2 =黄色,1 =绿色和0 =白色(均带有黑色轮廓)。
我研究了Geopandas地图中的叠加层,但我不太了解。我希望有人可以添加到我的代码中来实现
感谢任何能提供帮助的人