我正在处理一个城市的地理数据框,其中每个单元都是一个区域(行政区划)。它的情节看起来像这样:
import geopandas as gpd
df = gpd.read_file('districts_lima.geojson')
df.plot()
然后,我使用一个名为zone
的变量将一些地理单位合并为更大的组。结果是:
df2 = df.dissolve(by='zone', aggfunc='sum')
df2.plot(column='population', legend=True, cmap='Blues')
我唯一的问题是,当我用较暗的边界重现相同的图时,很明显,某些合并的多边形(区域)具有内部线,这些内部线是原始地理数据框的内部区域边界。该图清楚地显示了这一点:
df2.plot(column='population', legend=True, cmap='Blues', edgecolor='black')
有没有一种方法可以使用Geopandas删除多边形的内线,这样它们就不会出现在最后的绘图中?
可以找到我的数据here。
使用轴(ax1)可以在公共轴上绘制多个图层。也可以使用zorder来排列图层,较高的值将图层放置在较低值的图层上方。
fig, ax1 = plt.subplots(1, 1)
...
# bottom layer (has thick black lines)
df2.plot(column='population', legend=True, cmap='Blues', edgecolor='black', ax=ax1, zorder=5, lw=6)
# top layers (thin boundary lines)
df2.plot(column='population', legend=True, cmap='Blues', ax=ax1, zorder=6)
希望顶层将几乎隐藏所有底层,但隐藏部分外部边界线。