matplotlib / matplotlib/ipympl

occasional graphical corruption when manipulating plots using the zoom and pan widgets

Ouverte
#566 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Jupyter Notebook
Étoiles
1.7k
Forks
234
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Describe the issue

Manipulating fairly large (~M points) plots,. found occasionally that the redraw would fail, then would leave old pixels in place.

Using the 'Back to previous view' / 'Forward to next view' appears to fix the corruption, otherwise it just sticks around until the figure is redrawn by re-running the cell producing it. I.E., once it appears, hitting the 'home' button does not clear it.

Affects both the plot as well as the axes, with the axes becoming unreadable. Saving the corrupted pixels using the 'Download plot' button works - in that the saved png includes the pixel corruption.

Versions


 3.12.3 (main, Jul 15 2024, 15:34:06) [GCC 12.2.0]
ipympl version: 0.9.4
Selected Jupyter core packages...
IPython          : 8.26.0
ipykernel        : 6.29.5
ipywidgets       : 8.1.5
jupyter_client   : 8.6.2
jupyter_core     : 5.7.2
jupyter_server   : 2.14.2
jupyterlab       : 4.2.3
nbclient         : 0.10.0
nbconvert        : 7.16.4
nbformat         : 5.10.4
notebook         : not installed
qtconsole        : not installed
traitlets        : 5.14.3
usage: jupyter [-h] [--version] [--config-dir] [--data-dir] [--runtime-dir] [--paths] [--json] [--debug] [subcommand]

Jupyter: Interactive Computing

positional arguments:
  subcommand     the subcommand to launch

options:
  -h, --help     show this help message and exit
  --version      show the versions of core jupyter packages and exit
  --config-dir   show Jupyter config dir
  --data-dir     show Jupyter data dir
  --runtime-dir  show Jupyter runtime dir
  --paths        show all Jupyter paths. Add --json for machine-readable format.
  --json         output paths as machine-readable json
  --debug        output debug information about paths

Available subcommands: dejavu events execute kernel kernelspec lab labextension labhub migrate nbconvert run server troubleshoot trust

Jupyter command `jupyter-nbextension` not found.

I assume you meant || jupyter labextension list not &&.

JupyterLab v4.2.3
/home/rgd2/.pyenv/versions/3.12.3/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.13 enabled OK (python, jupyterlab_widgets)

Other labextensions (built into JupyterLab)
   app dir: /home/rgd2/.pyenv/versions/3.12.3/share/jupyter/lab

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Reproduisez le problème avec un grand graphique dans JupyterLab 4.2.3 en utilisant ipympl 0.9.4, puis manipulez-le avec les contrôles Zoom, Pan, Back, Forward et Home. Comparez le canvas et les axes après un échec du redessin et vérifiez le résultat avec le bouton Download plot ; c’est terminé lorsqu’il ne reste plus de pixels corrompus après les interactions avec le widget.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
jupyter, jupyter-notebook, python
Domaine
data-visualization, frontend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.