我有一个显示多个图的PyPlot脚本。其中一个图(gpu)我想缩小,所以我会在图的下半部分看到它(如图所示)。为了达到这个目的,我将轴ylim设置为300.
if ymax is not None:
ax.set_ylim(ax.get_ylim()[0], ymax)
问题是它下降了ylim,并且不再与其余的轴一致。知道如何解决这个问题吗?感谢。
答案 0 :(得分:1)
这是因为默认情况下matplotlib会为轴上的数据限制添加5%的余量(因为style changes in matplotlib
v2.0)。
我们假设您的数据限制为0
- 100
,matplotlib会在顶部和底部添加5%,因此轴限制为-5
- 105
。
在您的情况下,您已将上限更改为300
,但未修改下边距。
因此,您可能希望将限制设置为-15
- 315
,以与其他双轴保持一致。
注意:当然,这取决于您使用ax.margins
的默认值。如果您对其进行了修改(例如,通过设置ax.margins
或使用rcParam
axes.ymargin
),则需要修改上述答案并附上相应的保证金。