在python笔记本中显示后将图形保存为.pdf

奥尔加·比奥

在Stack的此处此处都提出类似的问题,但我不满意,因为它仍然无法解决我的问题。

考虑一下我有一个函数,它可以进行一些计算并显示一个图形(不返回图形对象)。我出于个人喜好(并在不保存每%matplotlib inline图的情况下跟踪我的图样在IPython中使用现在,在生成一些图后,我决定保存其中一个图(例如,笔记本中显示的三分之二),通过右键单击并选择“另存为...”(但另存为.png)可以正常工作。

有没有一种方法可以将其另存为.pdf,而无需修改函数以返回图形对象?(我知道这一点都不困难,但是在我的大多数情况下,这是没有必要的,因为最后只有20个数字中有1个值得保存)。

我发现后端发生了变化,%matplotlib inline这是我无法将数字另存为.pdf的原因。解决方法似乎正在使用%config InlineBackend.close_figures = False和使用plt.savefig(...)(来自此处的答案)。但是通过这种方式,我只能保存最后一个数字,并且每次都必须手动关闭这些数字。

如果我的问题是由于不良的程序工作流程/编程风格引起的,我将很乐意接受有关如何做得更好的建议。如果需要一个代码示例,我可以提供一个。我用:

ipython (2.1.0)
matplotlib (1.4.1) (with Qt4Agg backend if not inline)
Python 2.7.6
MacOSX 10.9.4
托马斯·K

重新发布作为答案:

您无法直接从浏览器中保存PDF,因为浏览器和JS代码不知道显示的PNG图像与特定的matplotlib图形相关联-实际上,它根本不了解matplotlib。所有这些都由运行您的代码的Python内核进程处理。

但是,您可以配置IPython以SVG格式显示图形,如docs中所述它似乎也有PDF选项,尽管我忘记了它的作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章