11.11.3 Jupyter Notebooks

Jupyter Notebooks 是一种流行的技术,能够将代码、文本和图形输出以综合的方式展示在一起。Octave 可以通过 jupyter_notebook 函数将结果发布到 Jupyter Notebook。

 
notebook = jupyter_notebook (notebook_filename)
notebook = jupyter_notebook (notebook_filename, options)

从 GNU Octave 内部运行并填充文件 notebook_filename 中的 Jupyter Notebook。

同时支持文本和图形化的 Octave 输出。

该类有一个公共属性 notebook,它是一个表示 JSON 解码后的 Jupyter Notebook 的结构体。此属性有意设为公开,以支持高级笔记本操作。

注意:不支持低于 4.0 的 Jupyter Notebook 版本(nbformat)。

可选的第二个参数 options 是一个包含以下字段的结构体:

  • tmpdir:设置临时工作目录。

%plot 魔法命令支持以下设置:

  • %plot -f <格式>%plot --format <格式>:指定图像存储格式。支持的格式有:
    • PNG(默认)
    • SVG(注意:如果 SVG 图像未在笔记本中显示,很可能是 Jupyter Notebook 的安全机制所致,需要显式"信任"它们)。
    • JPG
  • %plot -r <数值>%plot --resolution <数值>:指定图像分辨率。
  • %plot -w <数值>%plot --width <数值>:指定图像宽度。
  • %plot -h <数值>%plot --height <数值>:指定图像高度。

示例:

## 运行所有单元格并生成填充后的笔记本

## 从笔记本文件实例化一个对象
notebook = jupyter_notebook ("myNotebook.ipynb");
## 运行代码并将结果嵌入到 notebook 属性中
notebook.run_all ();
## 通过覆盖原始笔记本生成新的笔记本
notebook.generate_notebook ("myNotebook.ipynb");

## 仅运行第二个单元格并生成填充后的笔记本

## 从笔记本文件实例化一个对象
notebook = jupyter_notebook ("myNotebook.ipynb");
## 运行代码并将结果嵌入到 notebook 属性中
notebook.run (2)
## 生成一个新的笔记本文件
notebook.generate_notebook ("myNewNotebook.ipynb");

## 从笔记本生成 Octave 脚本

## 从笔记本文件实例化一个对象
notebook = jupyter_notebook ("myNotebook.ipynb");
## 生成 Octave 脚本
notebook.generate_octave_script ("jup_script.m");

另请参阅: jsondecode, jsonencode.