【发布时间】:2018-09-13 14:30:14
【问题描述】:
我正在尝试使用 plt.savefig 将绘图保存到文件中,但是我对输出图片质量不满意。更改 dpi 选项没有帮助。
plt.savefig('filename.png', dpi=1200, format='png', bbox_inches='tight')
我尝试保存到 'svg' 和 'eps' - 没有区别。我想知道问题是否出在其他问题上,例如某些库或操作系统的版本或类似的东西。看起来问题不在于分辨率,而是线条和符号的绘制方式 - 太粗了。
plt.show() 显示出明显更好的图片,我可以将其保存为具有令人满意的质量的 png - 令人惊讶的是,文件大小大约小了 8 倍(因为压缩,我想,这是好的。)
【问题讨论】:
-
如果您使用相同的 dpi 进行显示和保存,则输出不应有任何差异。默认 dpi 为
100。使用dpi=100应该会给您与显示相同的结果。因此,不清楚您所说的 “更改 dpi 选项没有帮助。” 使用dpi=1200时的输出是预期的 - 没有问题。 -
话虽如此,您可能想用
dpi=100的结果更新您的问题,并解释您对此不满意的地方。 -
问题不在于分辨率,而在于风格:分辨率越高,画面越不悦目。我会更新问题标题,因为它与分辨率无关,真的。我只是不知道在哪里看,现在已经修好了。
-
你需要把 dpi 想象成一个放大镜,它会让一切变得更大或更小。相比之下,图形大小是绘制元素的画布大小。所以解决方案大概在this answer中给出。
-
谢谢!是的,这是一个有用的链接。 Figsize 正是我所需要的。
标签: python python-3.x matplotlib