Hide cell contents

You can use Jupyter Notebook cell tags to control some of the behavior of the rendered notebook. This uses the sphinx-togglebutton package to add a little button that toggles the visibility of content.1

Hide code cells

You can use cell tags to control the content hidden with code cells. Add the following tags to a cell’s metadata to control what to hide in code cells:

  • hide-input tag to hide the cell inputs

  • hide-output to hide the cell outputs

  • hide-cell to hide the entire cell

For example, we’ll show cells with each below.

Here is a cell with a hide-input tag. Click the “toggle” button to the right to show it.

# This cell has a hide-input tag
fig, ax = plt.subplots()
points =ax.scatter(*data, c=data[0], s=data[0])
../_images/hiding_3_0.png

Here’s a cell with a hide-output tag:

# This cell has a hide-output tag
fig, ax = plt.subplots()
points =ax.scatter(*data, c=data[0], s=data[0])
../_images/hiding_5_0.png

And the following cell has a hide-cell tag:

# This cell has a hide-cell tag
fig, ax = plt.subplots()
points =ax.scatter(*data, c=data[0], s=data[0])
../_images/hiding_7_0.png

Hide markdown cells

You cannot hide an entire markdown cell, but you can hide sections of markdown content by using roles and directives.

For information on how to hide / toggle markdown content in Sphinx, see either the sphinx-togglebutton documentation or the sphinx-design dropdowns documentation.

Remove parts of cells

Sometimes, you want to entirely remove parts of a cell so that it doesn’t make it into the output at all. To do this, you can use the same tag pattern described above, but with the word remove_ instead of hide_. Use the following tags:

  • remove-input tag to remove the cell inputs

  • remove-output to remove the cell outputs

  • remove-cell to remove the entire cell

Here is a cell with a remove-input tag. The inputs will not make it into the page at all.

../_images/hiding_10_0.png

Here’s a cell with a remove-output tag:

# This cell has a remove-output tag
fig, ax = plt.subplots()
points = ax.scatter(*data, c=data[0], s=data[0])

And the following cell has a remove-cell tag (there should be nothing below, since the cell will be gone).


1

This notebook can be downloaded as hiding.ipynb and hiding.md