Python 是否可以自动缩放地物大小,但在matplotlib中保持打印大小不变?

Python 是否可以自动缩放地物大小,但在matplotlib中保持打印大小不变?,python,matplotlib,Python,Matplotlib,我正在使用matplotlib使用以下代码创建多个条形图: fig = plt.figure(figsize=(4, 4)) plt.barh(y=y, width=width, height=0.5) plt.yticks(y, labels) plt.xlabel("Contribution") plt.tight_layout() plt.show() 由于y形记号标签的长度可能会有所不同,因此绘图可能会压缩在一起,如下所示: 在其他情况下,绘图看起来很好: 现在

我正在使用
matplotlib
使用以下代码创建多个条形图:

fig = plt.figure(figsize=(4, 4))
plt.barh(y=y, width=width, height=0.5)
plt.yticks(y, labels)
plt.xlabel("Contribution")
plt.tight_layout()
plt.show()
由于y形记号标签的长度可能会有所不同,因此绘图可能会压缩在一起,如下所示:

在其他情况下,绘图看起来很好:


现在,我想知道,在
matplotlib
中是否有一个选项来保持绘图大小不变,但自动缩放图形大小(在水平方向)?我的目标是,绘图大小始终保持不变,与y标签长度无关(因为它们在绘图之间不同)。谢谢大家!

这是发生在你目前的情况下,数字(整个图像)是恒定的大小和你的轴被挤压。也许我只是错误地理解了你,但你不想拥有固定大小的轴(绘图),然后扩展整个图形以适应所有轴和标签吗?@RomanPavelka是的,你是对的。我希望打印尺寸始终保持不变(或如您所说的固定尺寸轴),并自动扩展图形以适合所有标签您可以尝试使用
设置框宽
,以便两个轴的宽高比始终为固定值这两个来源应该可以帮助您,但我会让figsize足够大,适合所有情况。。。我关于使用
set\u box\u aspect
的评论将有助于保持轴框的大小不变,但不幸的是,它只会导致记号文字被图形边界截断,因此可能不是您想要的。