我有一个包含内联图的iPython笔记本(即它包含命令图(x,y)).当我发出命令ipython nbconvert --to latex --post PDF --SphinxTransformer.author ='Myself'MyNotebook.ipynb时,生成的.PDF文件包含该图,但它已导出到.PNG,所以它没有看起来很好(像素化).如何告诉nbconvert将所有图表/数字导出到.EPS?
谢谢
Jak*_*kob 16
首先,笔记本不负责创建绘图,但是matplotlib可以将您的绘图以高质量渲染为eps,pdf,svg等,以便包含在出版物中.
我同意默认的内联绘图格式,即png由于多种原因而不适合用于出版物.正如您在答案中发布的github问题中所述,内联后端可以配置为使用svg而不是png通过调用
%config InlineBackend.figure_format = 'svg'
Run Code Online (Sandbox Code Playgroud)
在代码单元格中.有了这个,新创建的图将是矢量的(正如Matt所说,已经渲染的png将不会被转换!).这些svgs嵌入在笔记本中(svgs可以由现代浏览器呈现),然后由nbconvert转换为pdfs.这些pdf满足发布就绪图的要求.但是,请注意,svgs可能非常庞大(与png相比)并且可能会显着降低笔记本处理速度.
你最初的问题是关于eps图形.如上所述,matplotlib可以渲染eps,因此,您可以随时执行类似savefig('plot1.eps')创建所需数字的操作.这实际上是我创建出版物数字的方式(png in notebook,paper in paper).让我们假设我们会让IPython生成eps文件(嵌入但不能在浏览器中渲染).nbconverttex生成的文件旨在与pdflatex一起使用.如果使用eps文件,pdflatex会将这些转换为pdf以包含在最终文档中.所以基本上它与nbconvert目前与svgs一样.因此,没有任何好处.
最后,我想指出,即使nbconvert生成的tex文件看起来很棒(特别是使用master分支创建的文件),恕我直言也没有办法在不触摸的情况下使用这些文件(例如添加字幕,缩放图像,. ..).因此,您可以始终在此步骤中将eps文件包含在您的论文中.
| 归档时间: |
|
| 查看次数: |
4501 次 |
| 最近记录: |