Python 不同颜色的叠加图

Python 不同颜色的叠加图,python,matplotlib,Python,Matplotlib,我有一个荷兰的GADM地理数据框,我想在荷兰的GADM上用不同的颜色绘制阿姆斯特丹、乌得勒支、海牙和鹿特丹的叠加地图。但是,我无法更改叠加贴图的颜色 这是我的尝试: NL_boundaries = gpd.read_file("C:/Users/zaa_k/Documents/0.Thesis/Datasets/GADM/gadm36_NLD_2.shp") NL_boundaries_Ams = NL_boundaries[NL_boundaries['NAME_2']=='Amsterda

我有一个荷兰的GADM地理数据框,我想在荷兰的GADM上用不同的颜色绘制阿姆斯特丹、乌得勒支、海牙和鹿特丹的叠加地图。但是,我无法更改叠加贴图的颜色

这是我的尝试:

NL_boundaries = gpd.read_file("C:/Users/zaa_k/Documents/0.Thesis/Datasets/GADM/gadm36_NLD_2.shp")

NL_boundaries_Ams = NL_boundaries[NL_boundaries['NAME_2']=='Amsterdam']
NL_boundaries_Ams = NL_boundaries[NL_boundaries['NAME_2']=='Rotterdam']
NL_boundaries_Ut = NL_boundaries[NL_boundaries['NAME_2']=='Utrecht']
NL_boundaries_Hag = NL_boundaries[NL_boundaries['NAME_2']=="'s-Gravenhage"]

f, ax = plt.subplots(1, figsize=(12, 12))
ax = NL_boundaries.plot(axes=ax)
lims = plt.axis('equal')
for poly in NL_boundaries['geometry']:
    gpd.plotting.plot_multipolygon(ax, poly, facecolor='red', linewidth=0.025)
for poly in NL_boundaries_Ams['geometry']:
    gpd.plotting.plot_multipolygon(ax, poly, alpha=1, facecolor='red', linewidth=0)
for poly in NL_boundaries_Ut['geometry']:
    gpd.plotting.plot_multipolygon(ax, poly, alpha=1, facecolor='red', linewidth=0)
for poly in NL_boundaries_Rot['geometry']:
    gpd.plotting.plot_multipolygon(ax, poly, alpha=1, facecolor='red', linewidth=0)
for poly in NL_boundaries_Hag['geometry']:
    gpd.plotting.plot_multipolygon(ax, poly, alpha=1, facecolor='red', linewidth=0)
ax.set_axis_off()
f.suptitle('Areas with smallest population')
plt.axis('equal')
plt.show()
这是一个不理想的结果:


有人能帮我把阿姆斯特丹、乌得勒支、海牙和鹿特丹涂成其他颜色吗?谢谢,我拿到了。就是这么简单。 首先,提取要突出显示的每个GADM区域的所需区域:

NL_boundaries = gpd.read_file("C:/Users/zaa_k/Documents/0.Thesis/Datasets/GADM/gadm36_NLD_2.shp")
NL_boundaries_Ams = NL_boundaries[NL_boundaries['NAME_2']=='Amsterdam']
NL_boundaries_Rot = NL_boundaries[NL_boundaries['NAME_2']=='Rotterdam']
NL_boundaries_Ut = NL_boundaries[NL_boundaries['NAME_2']=='Utrecht']
NL_boundaries_Hag = NL_boundaries[NL_boundaries['NAME_2']=="'s-Gravenhage"]
# Bounding Box four cities
NL_boundaries_Ams.total_bounds
NL_boundaries_Rot.total_bounds
NL_boundaries_Ut.total_bounds
NL_boundaries_Hag.total_bounds
xlim = ([NL_boundaries_Rot.total_bounds[0],  NL_boundaries_Ut.total_bounds[2]])
ylim = ([NL_boundaries_Rot.total_bounds[1],  NL_boundaries_Ams.total_bounds[3]])
不要忘记设置要高亮显示的每个区域的边界框:

NL_boundaries = gpd.read_file("C:/Users/zaa_k/Documents/0.Thesis/Datasets/GADM/gadm36_NLD_2.shp")
NL_boundaries_Ams = NL_boundaries[NL_boundaries['NAME_2']=='Amsterdam']
NL_boundaries_Rot = NL_boundaries[NL_boundaries['NAME_2']=='Rotterdam']
NL_boundaries_Ut = NL_boundaries[NL_boundaries['NAME_2']=='Utrecht']
NL_boundaries_Hag = NL_boundaries[NL_boundaries['NAME_2']=="'s-Gravenhage"]
# Bounding Box four cities
NL_boundaries_Ams.total_bounds
NL_boundaries_Rot.total_bounds
NL_boundaries_Ut.total_bounds
NL_boundaries_Hag.total_bounds
xlim = ([NL_boundaries_Rot.total_bounds[0],  NL_boundaries_Ut.total_bounds[2]])
ylim = ([NL_boundaries_Rot.total_bounds[1],  NL_boundaries_Ams.total_bounds[3]])
然后只需将GADM区域的每一层绘制在彼此的顶部,如下所示:

f, ax = plt.subplots(1, figsize=(25, 25))
ax.set_xlim(xlim)
ax.set_ylim(ylim)
ax = NL_boundaries.plot(axes=ax, alpha=0.1, edgecolor= 'k')
ax = NL_boundaries_Ams.plot(axes=ax, alpha=1)
ax = NL_boundaries_Rot.plot(axes=ax, alpha=1)
ax = NL_boundaries_Ut.plot(axes=ax, alpha=1)
ax = NL_boundaries_Hag.plot(axes=ax, alpha=1)
ax = dataPoints0.plot(axes=ax, color='red')
ax = dataPoints1.plot(axes=ax, color='cyan')
ax = dataPoints2.plot(axes=ax, color='magenta')
ax = dataPoints3.plot(axes=ax, color='orange')
ax = dataPoints4.plot(axes=ax, color='black')
ax = dataPoints5.plot(axes=ax, color='lime')
ax = dataPoints6.plot(axes=ax, color='blueviolet')
ax = dataPoints7.plot(axes=ax, color='turquoise')

plt.title('K-cluster = 8')

如果我们能够访问数据,那么调试它会更容易。你能提供一个链接吗?