小编典典

为什么在matplotlib图中我的xlabel被截断了?

python

我正在使用matplotlib具有“很高”的xlabel的位置绘制数据集(这是在TeX中渲染的公式,其中包含一个分数,因此其高度等于几行文本)。

无论如何,当我绘制数字时,公式的底部总是被切除。更改图形大小似乎无济于事,而且我还无法弄清楚如何将x轴“向上”移动以为xlabel腾出空间。诸如此类的东西将是一个合理的临时解决方案,但最好的办法是使matplotlib自动识别标签被切断并相应调整大小。

这是我的意思的示例:

import matplotlib.pyplot as plt

plt.figure()
plt.ylabel(r'$\ln\left(\frac{x_a-x_b}{x_a-x_c}\right)$')
plt.xlabel(r'$\ln\left(\frac{x_a-x_d}{x_a-x_e}\right)$')
plt.show()

虽然您可以看到整个ylabel,但xlabel在底部被切除了。

如果这是机器特定的问题,我将在带有matplotlib 1.0.0的OSX 10.6.8上运行此问题


阅读 281

收藏
2020-12-20

共1个答案

小编典典

采用:

import matplotlib.pyplot as plt

plt.gcf().subplots_adjust(bottom=0.15)

为标签腾出空间。

编辑:

自从我给出答案以来,matplotlib增加了 tight_layout() 功能。所以我建议使用它:

plt.tight_layout()

应该为xlabel腾出空间。

2020-12-20