如何在 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)
我正在尝试叠加这两个图,到目前为止我想我可能有它,但是顶部 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)