Matplotlib:子图的尺寸不固定

时间:2020-07-06 12:57:11

标签: python matplotlib

这是一个简化的仪表板,由单个matplotlib图制成。

每秒刷新一次。如您在此动画中所见,子图尺寸根据 y比例文字的宽度而略有变化。

{p> set_ylimit('label', labelpad=...),如https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.set_ylabel.html所述,设置y标签本身的填充空间,而不是比例文本。

plt.tight_layout(True)也无济于事。

如何确定y缩放文本的宽度?

enter image description here

-------------------------------------------- -

编辑:在tmdavison和Jody Klimak发表评论之后

我添加了fig.subplots_adjust(left=0.12),并删除了tight_layoutconstrained_layout

现在的图具有固定的大小,子图的大小不再更改,但是[A]是“跳跃”的,具体取决于比例:

enter image description here

是否可以设置y标签文本的宽度(此图片中的黄色矩形)?

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以使用fig.subplots_adjust()设置子图边缘的确切位置。

在这种情况下,您需要将left kwarg设置为固定值,并且无论yticklabels多久,它都不会移动。

例如:

fig.subplots_adjust(left=0.12)

NB。确保您不同时使用tight_layout,因为这可能会覆盖此设置