matplotlib / matplotlib/ipympl

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

オープン
#566 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Jupyter Notebook
スター
1.7k
フォーク
234
PR マージ指標
30日以内にマージされた PR はありません

説明

## 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
```

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

ipympl 0.9.4 を使用する JupyterLab 4.2.3 で大きなプロットを使って問題を再現し、その後、Zoom、Pan、Back、Forward、Home の各コントロールで操作します。再描画に失敗した後のキャンバスと軸を比較し、Download plot ボタンで結果を確認します。完了とは、ウィジェットの操作後に破損したピクセルが残らなくなることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
jupyter, jupyter-notebook, python
領域
data-visualization, frontend
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。