3

当我点击Download as markdown菜单中的

在此处输入图像描述

它会给我带有.md, .png, '.svg' 的zip 文件

在此处输入图像描述

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

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

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

到目前为止我所知道的:

的链接Download as markdown这里

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

它进一步绑定到_nbconvertat here

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);
    };

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

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

我认为快速破解只是使用 python 下载文件,其 url 来自MenuBar.prototype._nbconvert.

4

1 回答 1

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()
于 2018-04-12T13:07:56.483 回答