Jupyter Notebook:通过程序将所有图像保存到svg

时间:2017-07-30 07:30:36

标签: python jupyter-notebook nbconvert

点击菜单中的Download as markdown

enter image description here

它会为我提供包含.md.png,'。svg'

的zip文件

enter image description here

注意:我使用set_matplotlib_formats('png', 'svg'),因此下载文件会返回2种图像文件格式。

现在,我想通过程序将这个笔记本中的所有图像保存到svg中(即编写Python脚本),我该怎么办?也许像是

save_images_to_svg('this_notebook.ipynb')
# and it will save all images to '.\images\*.svg'

到目前为止我所知道的:

Download as markdown的链接位于here

    this.element.find('#download_markdown').click(function () {
        that._nbconvert('markdown', true);
    });

它进一步与here

处的_nbconvert绑定
MenuBar.prototype._nbconvert = function (format, download) {
    download = download || false;
    var notebook_path = utils.encode_uri_components(this.notebook.notebook_path);
    var url = utils.url_path_join(
        this.base_url,
        'nbconvert',
        format,
        notebook_path
    ) + "?download=" + download.toString();

    this._new_window(url);
    };

这意味着笔记本会向后端发送请求以进行转换。

我不知道它在哪里,但似乎是here,因为它有一个respond_zip方法。

我认为快速入侵只是使用python从MenuBar.prototype._nbconvert下载文件来下载文件。

1 个答案:

答案 0 :(得分:1)

使用matplotlib创建绘图并使用以下命令保存图像。它适用于Sage 8.1(windows)。您将找到.ipynb文件所在的数字。

import numpy
import matplotlib.pyplot as plt

x = numpy.arange(-2 * numpy.pi, 2 * numpy.pi, 0.1)
func = numpy.sin(x)
plt.figure(figsize=(3.3, 3.3))    # inches
plt.plot(x, func, linewidth=2.0, color='blue') 

plt.savefig('demo1.svg')
plt.savefig('demo1.pdf')
plt.savefig('demo1.eps')
plt.savefig('demo1.tif')
plt.show()
# plt.close()