在后台绘制具有不同形状文件的多个子图

Plotting multiple subplots with different shapefiles in background

我正在尝试使用 matplotlib 并排绘制 GeoPandas shapefile,但标题、xlabel 和 ylabel 绘制不正确。

fig, axes = plt.subplots(1,2, figsize=(10,3), sharex=True, sharey=True)

base = subs.boundary.plot(color='black', linewidth=0.1, ax=axes[0])
cluster.plot(ax=base, column='pixel', markersize=20, legend=True, zorder=2)
plt.title('THHZ')
plt.xlabel('Longitude')
plt.ylabel('Latitude')


base = forest.boundary.plot(color='black', linewidth=0.2, ax=axes[1])
cluster.plot(ax=base, column='forest', markersize=20, legend=True, zorder=2)
plt.title('Forest')

这就是我得到的

这就是我想要的

您混合了 object-oriented 和 pyplot-style matplotlib 交互。 plt.* 调用遵循当前轴的逻辑进行操作。来自 matplotlib 文档的更多详细信息:Pyplot vs Object Oriented Interface。我不知道你的绘图函数调用是如何表现的(代码不包含在你的 post 中)。

要确定您正在与哪些轴交互,请使用您已有的 axes 对象进行 object-oriented 调用:

axes[0].set_title('THHZ')
axes[0].set_xlabel('Longitude')
axes[0].set_ylabel('Latitude')
axes[1].set_title('Forest')

您还可以在最后添加 fig.tight_layout() 以获得紧凑的图形布局。