matplotlib / matplotlib/ipympl

Running a cell producing a plot for a second time, and the plot fails to display

Open
#519 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

## Describe the issue
When using `ipympl` with the `%matplotlib widget` magic, I can successfully display a plot. Rerunning the cell with the plot however, fails to re-display the figure.

![iRxF6Xmk1U](https://user-images.githubusercontent.com/1473646/220138005-90c8a582-b0c3-4ef6-8916-ee087a406088.gif)

the following is visible in the error console

![image](https://user-images.githubusercontent.com/1473646/220138091-f726ee14-136d-44d1-9949-698e2f5d206b.png)

Note: that adding `plt.show()` to the cell and re-running does display a plot **however** the color of the line in the plot is different, suggesting that this is a new (second) matplotlib figure and not the original.

## Versions

```

3.8.10 | packaged by conda-forge | (default, May 10 2021, 22:58:09)
[Clang 11.1.0 ]
ipympl version: 0.9.3
Selected Jupyter core packages...
IPython : 8.10.0
ipykernel : 6.21.2
ipywidgets : 8.0.4
jupyter_client : 8.0.3
jupyter_core : 5.2.0
jupyter_server : 2.3.0
jupyterlab : 3.5.3
nbclient : 0.7.2
nbconvert : 7.2.9
nbformat : 5.7.3
notebook : 6.5.2
qtconsole : not installed
traitlets : 5.9.0
Known nbextensions:
config dir: /Users/stevejpurves/.jupyter/nbconfig
notebook section
jupyter-js-widgets/extension enabled
- Validating: OK
config dir: /Users/stevejpurves/miniconda3/envs/em_recharge/etc/jupyter/nbconfig
notebook section
bqplot/extension enabled
- Validating: OK
ipyevents/extension enabled
- Validating: OK
ipysheet/extension enabled
- Validating: OK
ipytree/extension enabled
- Validating: OK
jupyter-leaflet/extension enabled
- Validating: OK
jupyter-matplotlib/extension enabled
- Validating: OK
jupyter-js-widgets/extension enabled
- Validating: OK
JupyterLab v3.5.3
/Users/stevejpurves/miniconda3/envs/em_recharge/share/jupyter/labextensions
ipytree v0.2.2 enabled OK
jupyterlab_pygments v0.2.2 enabled OK (python, jupyterlab_pygments)
bqplot v0.5.37 enabled OK (python, bqplot)
jupyter-matplotlib v0.11.3 enabled OK
jupyter-leaflet v0.17.2 enabled OK
ipysheet v0.7.0 enabled OK (python, ipysheet)
ipyevents v2.0.1 enabled OK
@jupyter-widgets/jupyterlab-manager v5.0.5 enabled OK (python, jupyterlab_widgets)
```

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

Start by reproducing the reported `%matplotlib widget` cell rerun in JupyterLab with ipympl, then compare the browser error console and the figure shown on the first and second runs. No source files or tests are named; done means rerunning the cell displays the original figure reliably without requiring `plt.show()` or creating a differently colored second figure.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook, python
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.