Jupyter notebooks are one popular technique for displaying code, text, and
graphical output together in a comprehensive manner. Octave can publish
results to a Jupyter notebook with the function jupyter_notebook
.
notebook =
jupyter_notebook (notebook_filename)
¶notebook =
jupyter_notebook (notebook_filename, options)
¶Run and fill the Jupyter Notebook in file notebook_filename from within GNU Octave.
Both text and graphical Octave outputs are supported.
This class has a public property notebook
which is a structure
representing the JSON-decoded Jupyter Notebook. This property is
intentionally public to enable advanced notebook manipulations.
Note: Jupyter Notebook versions (nbformat
) lower than 4.0 are not
supported.
The optional second argument options is a struct with fields:
tmpdir
to set the temporary working directory.
%plot
magic is supported with the following settings:
%plot -f <format>
" or "%plot --format <format>
": specifies
the image storage format. Supported formats are:
%plot -r <number>
" or "%plot --resolution <number>
":
specifies the image resolution.
%plot -w <number>
" or "%plot --width <number>
": specifies
the image width.
%plot -h <number>
" or "%plot --height <number>
": specifies
the image height.
Examples:
## Run all cells and generate the filled notebook
## Instantiate an object from a notebook file
notebook = jupyter_notebook ("myNotebook.ipynb");
## Run the code and embed the results in the notebook
property
notebook.run_all ();
## Generate a new notebook by overwriting the original notebook
notebook.generate_notebook ("myNotebook.ipynb");
## Run just the second cell and generate the filled notebook
## Instantiate an object from a notebook file
notebook = jupyter_notebook ("myNotebook.ipynb");
## Run the code and embed the results in the notebook
property
notebook.run (2)
## Generate a new notebook in a new file
notebook.generate_notebook ("myNewNotebook.ipynb");
## Generate an Octave script from a notebook ## Instantiate an object from a notebook file notebook = jupyter_notebook ("myNotebook.ipynb"); ## Generate the Octave script notebook.generate_octave_script ("jup_script.m");
See also: jsondecode, jsonencode.