如何从子图中的一个轴上删除标签?

How do I remove labels from one axis in a subplot?

我在 MacOS 上使用 Python 3.9。很快,我必须制作一个包含 4 个子图的图,它们共享轴。代码如下所示:


#take some data
gs = gridspec.GridSpec(2, 2, height_ratios = [3, 1])
ax0 = plt.subplot(gs[0])

#plot data, make legend, etc.

ax2 = plt.subplot(gs[2], sharex = ax0)

#plot data, make legend, etc.

#take more data

ax1 = plt.subplot(gs[1], sharey = ax0)

#plot data, make legend, etc.

ax3 = plt.subplot(gs[3], sharex = ax1, sharey = ax2)

#plot data, make legend, etc.

plt.show()

如您所见,一些图彼此共享一个轴。问题是在 x 轴上一切都很好,而在 y 轴上却不是(见图)。切入正题:如何删除右图垂直轴上的数字而不是左侧的数字?我看过很多帖子,其中的问题是用

之类的东西解决的
ax.set_yticklabels([])

但这也从左侧图中删除了数字。

试试这个:

ax1.tick_params('y', labelleft=False)