需要在X轴标签的子批次之间添加空间,可能需要删除轴凹口的标签

2024-09-30 08:15:19 发布

您现在位置:Python中文网/ 问答频道 /正文

要在绘制的图形之间添加垂直空间以允许X轴标签显示:

每个图都需要有空间来显示一天,目前只有最后两个图可以显示,因为这些图重叠在一起。

同样好奇的是,我是否真的可以移除周四/周五标记图上方X轴的凹口标签,即底部X轴是唯一显示的。对于Y轴也是这样,但只有左边的图形显示了比例。

*不幸的是,由于我没有足够的代表,我无法张贴图片来显示这一点

代码段:

import mathlib.pyplot as pyplot
fig = pyplot.figure()
ax1 = fig.add_subplot(4,2,1)
ax1.set_yscale('log')
ax2 = fig.add_subplot(4,2,2, sharex=ax1, sharey=ax1)
ax3 = fig.add_subplot(4,2,3, sharex=ax2, sharey=ax2)
ax4 = fig.add_subplot(4,2,4, sharex=ax3, sharey=ax3)
ax5 = fig.add_subplot(4,2,5, sharex=ax4, sharey=ax4)
ax6 = fig.add_subplot(4,2,6, sharex=ax5, sharey=ax5)
ax7 = fig.add_subplot(4,2,7, sharex=ax6, sharey=ax6)
ax1.plot(no_dict["Saturday"],'k.-',label='Saturday')
ax1.set_xlabel('Saturday')
ax1.axis([0,24,0,10000])
pyplot.suptitle('Title')
pyplot.xlabel('Hour in 24 Hour Format')
ax2.plot(no_dict["Sunday"],'b.-',label='Sunday')
ax2.set_xlabel('Sunday')
...

too crowded


Tags: addfigsetpyplotxlabelax1subplotax3
2条回答

使用subplots_adjust。在你的情况下,这看起来不错:

fig.subplots_adjust(hspace=.5)

要删除记号标签,请执行以下操作:

ax1.set_xticklabels([])

类似于yticklabels。但是,不能将x轴与具有刻度标签的绘图共享。

enter image description here

要更改某个子块(而不是所有子块)周围的间距,可以使用以下方法调整该子块的轴位置:

bbox=plt.gca().get_position()
offset=-.03
plt.gca().set_position([bbox.x0, bbox.y0 + offset, bbox.x1-bbox.x0, bbox.y1 - bbox.y0])

如果offset < 0,则下移子块。如果offset > 0,则向上移动子块。

注意,如果偏移量太大,子块的新位置与另一个子块重叠,则子块将消失。

相关问题 更多 >

    热门问题