如何删除子图中的y刻度标签

时间:2020-05-14 10:21:10

标签: python matplotlib

我正在使用子图绘制4种不同分布的直方图。在最终输出期间,我获得了第四个子图的y轴的刻度标签。我如何确保它不会发生。

fig,((ax1,ax2),(ax3,ax4)) = plt.subplots(2,2,sharex=True,sharey=True)
plt.cla()
nbins = np.arange(-10,10,1)
ax1.hist(x1,bins=nbins)
ax1.set_title('Normal Distribution')
ax1.set_ylabel('Frequency')
ax2.hist(x2,bins=nbins)
ax2.set_title('Exponential Distribution')
ax3.hist(x3,bins=nbins)
ax3.set_title('Rayleigh Distribution')
ax3.set_xlabel('Value')
ax3.set_ylabel('Frequency')
ax4.hist(x4,bins=nbins)
ax4.set_title('Random Distribution')
ax4.set_xlabel('Value')

这是运行代码后获得的图形:

subplots

添加以下代码后,它也删除了其他轴的y-tick标签

ax4.set_yticklabels([])

以下是图表-

subplots_1

1 个答案:

答案 0 :(得分:0)

这很奇怪,因为我无法重现该行为。我不知道为什么ax4的行为会与其他轴不同。

但是在任何情况下,由于轴是共享的,因此您不能仅删除刻度线标签,因为那样会在所有位置删除它们。解决方案是使它们在所需的斧头上不可见

plt.setp(ax4.get_xticklabels(), visible=False)