Matplotlib 子图隐藏xlabel

Matplotlib 子图隐藏xlabel,matplotlib,Matplotlib,当我在IPython中运行此命令时: r = (100, 300) b = 100 plt.figure(figsize=(8, 6)) plt.subplot(3,1,1) plt.xlabel('Picker time (ms)') plt.hist(sequential['X0'], range=r, bins=b, color='blue') plt.subplot(3,1,2) plt.hist(stateful['X0'], range=r, bins=b, color='green

当我在IPython中运行此命令时:

r = (100, 300)
b = 100
plt.figure(figsize=(8, 6))
plt.subplot(3,1,1)
plt.xlabel('Picker time (ms)')
plt.hist(sequential['X0'], range=r, bins=b, color='blue')
plt.subplot(3,1,2)
plt.hist(stateful['X0'], range=r, bins=b, color='green')
plt.subplot(3,1,3)
plt.hist(standard['X0'], range=r, bins=b, color='red')
第一个绘图的xlabel文本在第二个绘图下丢失。下面是情节:


你可以看到p的顶部突出。如何为子批次提供XLabel而不发生这种情况?

您可以使用plt.tight\u布局调整子批次,以便x标签可见

您可以使用plt.tight_布局调整子批次,以便x标签可见

作为@Molly的优秀建议的替代方案,更手动的方法是使用

plt.子批次\u调整空间=0.1


由于您的x轴都是相同的,我建议将hspace设置为0.0,并使用plt.setxticklabels[]删除x轴标签。这节省了空间并减少了重复信息的数量。

作为@Molly极好建议的替代方法,使用更手动的方法

plt.子批次\u调整空间=0.1

由于您的x轴都是相同的,我建议将hspace设置为0.0,并使用plt.setxticklabels[]删除x轴标签。这节省了空间并减少了重复信息量。

注意,sharex参数可以设置为True以获得您建议的其他可能性,请参阅,即编辑原始代码:plt.subplot3,1,1,sharex=True注意,sharex参数可以设置为True以获得您建议的其他可能性,参见,即编辑原始代码:plt.subplot 3,1,1,sharex=True