matplotlib / matplotlib/ipympl

Blank figures in Jupyter notebook

Open
#556 24 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Jupyter Notebook
Stars
1.7k
Forks
234
PR merge metrics
No merged PRs in 30d

Description

I have happily used interactive plots in jupyter notebooks for years with `%matplotlib notebook`. Unfortunately, since version 7 was introduced, I have experienced troubles with getting interactive plotting to work properly. I read that version 7 requires installing *ipympl* and `%matplotlib ipympl`.

Today, I set up a fresh virtual environment and installed *jupyter* and *ipympl*. Figures are opening, the controls appear, a figure title appears, but the figure contains no content. There is also no error message on the browser's developer console.

Steps to reproduce:

```bash
# Create virtual environment
python3 -m venv debug
source debug/bin/activate

# Install jupyter and ipympl
pip install jupyter ipympl matplotlib numpy

# Open notebook
jupyter notebook
```

Then I use the code from the [basic example](https://matplotlib.org/ipympl/)

```python
%matplotlib ipympl
import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots()
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(3*x)
ax.plot(x, y)
```

A white area is opening, the controls appear, but there is no figure content.

I have seen several similar issues on Stackoverflow, where the solution is usually to upgrade or downgrade one of the packages. However, these answers have aged as newer versions came out in the meantime. Is there a general recipe to identify the issue when interactive plotting fails?

## Versions

```
Python: 3.12.3
ipympl version: 0.9.4
IPython : 8.25.0
ipykernel : 6.29.4
ipywidgets : 8.1.3
jupyter_client : 8.6.2
jupyter_core : 5.7.2
jupyter_server : 2.14.1
jupyterlab : 4.2.1
nbclient : 0.10.0
nbconvert : 7.16.4
nbformat : 5.10.4
notebook : 7.2.0
qtconsole : 5.5.2
traitlets : 5.14.3
```

```
jupyter labextension list
JupyterLab v4.2.1
/home/bene/local/venvs/debug/share/jupyter/labextensions
jupyterlab_pygments v0.3.0 enabled OK (python, jupyterlab_pygments)
jupyter-matplotlib v0.11.4 enabled OK
@jupyter-widgets/jupyterlab-manager v5.0.11 enabled OK (python, jupyterlab_widgets)
@jupyter-notebook/lab-extension v7.2.0 enabled OK
```

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the blank figure using the listed virtual-environment commands and the ipympl basic example. Start by checking the reported Python, JupyterLab, notebook, ipympl, and widget versions and their compatibility. Done means identifying the cause and documenting a reliable diagnostic or package-version fix for interactive figures.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter, jupyter-notebook, python
Domain
data-visualization, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.