在后台绘制具有不同形状文件的多个子图
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()
以获得紧凑的图形布局。
我正在尝试使用 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()
以获得紧凑的图形布局。