python - 如何防止 Matplotlib 剪掉我的轴标签?

标签 python matplotlib axes axis-labels

我正在为一篇科学论文准备一些情节,这些情节需要既宽又短以适应页数限制。但是,当我将它们另存为 pdf 时,x 轴标签丢失了,因为(我认为)它们在边界框之外。

将以下内容放入 iPython 笔记本中可重现该问题。

%pylab inline
pylab.rcParams['figure.figsize'] = (8.0, 2.0)
plot([1,5,2,4,6,2,1])
xlabel("$x$")
ylabel("$y$")
savefig("test.pdf")

生成的 pdf 文件如下所示: enter image description here

如何更改 pdf 文件的边界框?理想情况下,我想要一个“正确执行”的解决方案,即自动调整大小,以便一切都整齐地适合,包括摆脱左右不必要的空间 - 但我很着急,所以我会接受任何改变边界框的方法,如果必须的话,我会猜测数字直到它看起来正确为止。

最佳答案

经过一番谷歌搜索,我找到了答案:您可以将 bbox_inches='tight' 传递给 savefig 命令,它会自动将边界框调整为内容的大小:

%pylab inline
pylab.rcParams['figure.figsize'] = (8.0, 2.0)
plot([1,5,2,4,6,2,1])
xlabel("$x$")
ylabel("$y$")
savefig("test.pdf",bbox_inches='tight')

enter image description here

我猜这些有点紧。

请注意,这与 Ffisegydd 的回答略有不同,因为它调整边界框以适应绘图,而不是更改绘图以适合边界框。 (但两者都适合我的目的。)

关于python - 如何防止 Matplotlib 剪掉我的轴标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22808834/

相关文章:

python - pyplot.scatter(c ='red')。无效的语法?

python - 在 matplotlib 条形图中强制 bin 高度为零

python - Matplotlib 3D 图绘制不正确

python - 同一 3D 轴中的多条独立线

java - JFreeChart 域/范围轴定义

python - matplotlib 轴标签与数据箱不对齐

python - 如何在python脚本的if条件下避免硬编码

python - 使用 OpenCV python 捕获 rtsp 相机

python - PyBluez 不接受连接

python - 从模块中使用 matplotlib 进行绘图