Re-executing a cell hides the figure when it is given a `num=...` argument
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- jupyter, jupyter-notebook, python
- Bereich
- data-visualization, frontend
Rechercherichtung
Beginne damit, das angehängte Beispiel repeat_plot_issue.zip mit dem ipympl-Backend auszuführen, und vergleiche es mit den inline- und notebook-Backends. Durch wiederholtes Ausführen der Zelle mit plt.figure(num=1) sollte die Abbildung sichtbar bleiben, ohne dass plt.close(1) oder plt.show() erforderlich ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Describe the issue
Explicit figure numbers seem to cause a small glitch in ipympl. When the following cell is executed once, it shows the plot. When re-executing the cell, it disappears again.
x = np.linspace(-np.pi/2, np.pi/2)
plt.figure(num=1)
plt.plot(x, np.sin(x))
I've attached a working example: repeat_plot_issue.zip
The inline and notebook backends do not have this issue, which leads me to believe this is a bug. There are two workarounds:
- Close the figure in the beginning of the cell with e.g.
plt.close(1) - Show the figure at the end of the cell with
plt.show()
(I'm using Jupyter notebooks with a group of about 40 students, and they got confused by this difference in behavior between the backends. I understand this is not a major issue because there are simple workarounds. Still, for newcomers, it is an extra difficulty: "Help, my plot has disappeared!")
Versions
3.9.7 | packaged by conda-forge | (default, Sep 29 2021, 19:20:46)
[GCC 9.4.0]
ipympl version: 0.8.2
Selected Jupyter core packages...
IPython : 7.30.1
ipykernel : 6.6.0
ipywidgets : 7.6.5
jupyter_client : 6.1.12
jupyter_core : 4.9.1
jupyter_server : 1.13.1
jupyterlab : 3.2.5
nbclient : 0.5.9
nbconvert : 6.3.0
nbformat : 5.1.3
notebook : 6.4.6
qtconsole : not installed
traitlets : 5.1.1
Known nbextensions:
config dir: /home/toon/.jupyter/nbconfig
notebook section
splitcell/splitcell disabled
nbextensions_configurator/config_menu/main enabled
- Validating: problems found:
- require? X nbextensions_configurator/config_menu/main
contrib_nbextensions_help_item/main enabled
- Validating: OK
spellchecker/main enabled
- Validating: OK
toc2/main enabled
- Validating: OK
k3d/extension enabled
- Validating: OK
tree section
nbextensions_configurator/tree_tab/main enabled
- Validating: problems found:
- require? X nbextensions_configurator/tree_tab/main
config dir: /home/toon/.local/etc/jupyter/nbconfig
notebook section
nbdime/index enabled
- Validating: problems found:
- require? X nbdime/index
rise/main enabled
- Validating: OK
config dir: /home/toon/miniconda3/envs/py4sci/etc/jupyter/nbconfig
notebook section
jupyter-matplotlib/extension enabled
- Validating: OK
rise/main enabled
- Validating: OK
voila/extension enabled
- Validating: OK
jupyter-js-widgets/extension enabled
- Validating: OK
nbextensions_configurator/config_menu/main enabled
- Validating: problems found:
- require? X nbextensions_configurator/config_menu/main
contrib_nbextensions_help_item/main enabled
- Validating: OK
tree section
nbextensions_configurator/tree_tab/main enabled
- Validating: problems found:
- require? X nbextensions_configurator/tree_tab/main
config dir: /etc/jupyter/nbconfig
notebook section
jupyter-js-widgets/extension enabled
- Validating: OK
JupyterLab v3.2.5
/home/toon/miniconda3/envs/py4sci/share/jupyter/labextensions
k3d v2.11.0 enabled OK (python, k3d)
jupyter-matplotlib v0.10.2 enabled OK
@jupyter-widgets/jupyterlab-manager v3.0.1 enabled OK (python, jupyterlab_widgets)
@ijmbarr/jupyterlab_spellchecker v0.7.2 enabled OK (python, jupyterlab-spellchecker)
@ryantam626/jupyterlab_code_formatter v1.4.10 enabled OK (python, jupyterlab-code-formatter)
@voila-dashboards/jupyterlab-preview v2.1.0 enabled OK (python, voila)
- Vorherrschende Sprache
- Jupyter Notebook
- Sterne
- 1.7k
- Forks
- 236
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus matplotlib/ipympl
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
matplotlib/ipympl#623 · 1 Kommentar ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
matplotlib/ipympl#622 · 13 Kommentare ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 42/100
matplotlib/ipympl#612 ·
-
DeprecationWarning: Passing unrecognized arguments to super(Toolbar).__init__().Evtl. vergeben @pradeep14012004 hat das vor 8 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
matplotlib/ipympl#611 · 4 Kommentare ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 42/100
matplotlib/ipympl#609 · 7 Kommentare ·
Alle Issues in matplotlib/ipympl
Ähnliche Issues
-
Insights adapters: restore dropped comments and timer cleanup (#651 follow-up)Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
OneBusAway/wayfinder#660 ·
Maintainer antworten meist innerhalb von 1 Tag
-
frontend good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
SaboStudios/Tycoon-Monorepo#1971 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
cathrynlavery/diagram-design#412 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
headroomlabs-ai/headroom#4171 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
tech-debt
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Data-Policy-and-Innovation-Centre/janasunani#422 ·
Maintainer antworten meist innerhalb von 1 Tag