为什么我的xLabel在我的matplotlib图中被切断了?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (27)

我正在绘制一个数据集,使用的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上运行它

提问于
用户回答回答于

用途:

import matplotlib.pyplot as plt

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

为标签腾出空间。

用户回答回答于

一个简单的选择是配置matplotlib自动调整绘图大小。它对我来说非常完美,我不确定它为什么没有被默认激活。

方法1

将其设置在matplotlibrc文件中

figure.autolayout : True

有关定制matplotlibrc文件的更多信息,请参阅此处:http : //matplotlib.org/users/customizing.html

方法2

像这样在运行时更新rcParams

from matplotlib import rcParams
rcParams.update({'figure.autolayout': True})

扫码关注云+社区