【问题标题】:How to export figures to files from IPython Notebook如何将图形从 IPython Notebook 导出到文件
【发布时间】:2012-11-18 12:21:41
【问题描述】:

我使用带有--pylab inline 选项的IPython Notebook,因为我不希望绘图显示在不同的窗口中。现在我想将我在笔记本中看到的绘图保存为 PDF 或 PNG 文件。

一些代码示例使用

import matplotlib as plt

plt.savefig("figure.png") # save as png

但这似乎不适用于内联模式。

当然,我可以简单地保存从浏览器生成的 PNG,但我想用一行 Python 来做到这一点。我也对 PDF 导出感兴趣。

【问题讨论】:

  • 我使用这个小技巧jupyter nbconvert --to markdown *.ipynb。它为每个笔记本生成一个目录来存储图像

标签: python matplotlib ipython-notebook


【解决方案1】:

试试这个(注意文件会保存到默认的笔记本文件夹):

plot(range(80))
xlabel('foo')
ylabel('bar')
legend(['myline'])
axis([0, 80, 0, 120])
savefig('sample.pdf')

如果你想要png,只需将其更改为'sample.png'

请注意,savefig() 调用应与绘图命令位于同一笔记本单元格中。

【讨论】:

  • 如果要将绘图保存到其他文件夹,只需在路径中指定文件夹,例如:'home/foo/bar/sample.pdf'。更改默认目录也会重新定位您的笔记本文件。
  • @cls 首先将*.ipynb 文件复制到您想要它们的目录。然后用$ ipython notebook --pylab=inline --notebook-dir=/path/to/my/notebooks启动笔记本服务器
  • @root:看起来关键点是将savefig() 与绘图命令放在同一个单元格中。事实上,一个单元格中的 plot() 和下一个单元格中的 savefig() 不会保存文件(通过 MacPorts 用于 Mac OS X 的 IPython 0.13)。如果您在回复中强调这一点,那就太好了。
  • @EOL @ZachDwiel 你们有人知道为什么savefig() 必须与绘图命令在同一个单元格中吗?
  • @braunmagrin 好问题。这让我很惊讶,一开始。我可以猜想,当你打开一个笔记本时,没有当前图形,因为笔记本通常包含许多图形。通过扩展,退出单元格时,没有当前图形,因此 savefig() 没有目标。再说一次,我只是在猜测……我不确定为什么按照惯例,最后绘制的数字不能是当前数字。
猜你喜欢
  • 1970-01-01
  • 2015-08-02
  • 2015-05-06
  • 2018-04-23
  • 1970-01-01
  • 2013-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多