如何在 matplotlib 中自定义轴上的单个数字?

How to customize individual numbers on an axis in matplotlib?

我正在尝试叠加这两个图,到目前为止我想我可能有它,但是顶部 y 轴上的第一个数字和底部 y 轴上的最后一个数字相互重叠。有没有办法单独编辑 y 轴上的每个数字,以便我可以删除两个中的一个,并使每个数字彼此不同?

这个图 ^^ 来自下面相同的代码,但没有行 plt.setp([a.get_yticklabels() for a in plot.axes[:-1]], visible=False)

##Plotting
plt.close('all')
pressure_plot, dyn = plt.subplots(2, sharex = True)
dyn[0].plot(s,p1_dyn,
         s, p2_dyn)
dyn[1].plot(s,A)
plot.subplots_adjust(hspace = 0)
plt.setp([a.get_yticklabels() for a in plot.axes[:-1]], visible=False)

我在想也许可以在这里使用最后一行 ^^ 来删除一个,因为如果将其更改为 yticklabels() 它将删除一个 y 轴(如下所示)。但我不确定如何让它单独删除一个。有任何想法吗?

您可以通过以下操作删除轴的顶部 y 值:

yticks = plt.gca().get_yticks().tolist() # get list of ticks
yticks[-1] = ''                          # set last tick to empty string
ax.set_yticklabels(yticks)