这是一个简化的仪表板,由单个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缩放文本的宽度?
-------------------------------------------- -
编辑:在tmdavison和Jody Klimak发表评论之后
我添加了fig.subplots_adjust(left=0.12)
,并删除了tight_layout
和constrained_layout
。
现在的图具有固定的大小,子图的大小不再更改,但是[A]是“跳跃”的,具体取决于比例:
是否可以设置y标签文本的宽度(此图片中的黄色矩形)?
答案 0 :(得分:2)
您可以使用fig.subplots_adjust()
设置子图边缘的确切位置。
在这种情况下,您需要将left
kwarg设置为固定值,并且无论yticklabels
多久,它都不会移动。
例如:
fig.subplots_adjust(left=0.12)
NB。确保您不同时使用tight_layout
,因为这可能会覆盖此设置