【发布时间】:2012-02-05 05:34:40
【问题描述】:
以前有人问过类似的问题,但我的所有搜索结果都没有 解决我的问题。以下面的示例代码为例:
from matplotlib.pyplot import *
fig = figure(1, figsize=(3.25, 3))
plot([0,1,5,2,9])
title('title')
xlabel('xAxis')
ylabel('yAxis')
fig.savefig('test.png',dpi=600)
生成的图形为 2040x1890 像素,即 3.4"x3.15",x-label 被切断。在图像编辑器中查看 PNG 文件,似乎 轴和刻度标签适合所需的大小。我试过服用 与输出尺寸和请求尺寸的差异以及反馈 在 (3.25 - (3.4-3.25) = 3.10,但 matplotlib 似乎添加了任意 缓冲区,它仍然没有达到所需的大小。一个如何 制作一个符合所需尺寸的整体图?
【问题讨论】:
-
我无法重现这一点 - 当我在我的机器上运行此代码并在预览中打开 PNG 时,我得到一个 1950x1800 像素或正好 3.25 x 3 英寸的图形。您使用的是什么版本的 matplotlib? ETA:虽然我确实看到 xlabel 被切断了。
-
我的 matplotlib 版本是 1.0.1 - 我会尝试更新到 1.1.0。有点奇怪:
在 [228]: fig = figure(3, figsize=(3.15, 3.15)) 在 [229]: fig.savefig('test0.png',dpi=600) 在 [230] : fig.get_size_inches() Out[230]: array([ 3.3, 3.3]) -
上述行为在 IPython 0.11 上的 mpl 1.1.0、Win7 x64 上的 Python 2.7.2(x32 版本)中持续存在。
标签: python matplotlib