matplotlib / matplotlib/ipympl

Multicursor disappears when not moving

Offen
#306 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Jupyter Notebook
Sterne
1.7k
Forks
234
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

## Describe the issue

In both JupyterLab and old Notebook MultiCursor not only is blinking when is bing moved, but also completely disappears when mouse stops motion. Same code works fine in QT.

[Documentation example](https://matplotlib.org/stable/gallery/widgets/multicursor.html) may be used for demonstration:
```python

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import MultiCursor

t = np.arange(0.0, 2.0, 0.01)
s1 = np.sin(2*np.pi*t)
s2 = np.sin(4*np.pi*t)

fig, (ax1, ax2) = plt.subplots(2, sharex=True)
ax1.plot(t, s1)
ax2.plot(t, s2)

multi = MultiCursor(fig.canvas, (ax1, ax2), color='r', lw=1)
plt.show()
```

## Versions
```
3.8.3 | packaged by conda-forge | (default, Jun 1 2020, 17:43:00)
[GCC 7.5.0]
ipympl version: 0.6.3
jupyter core : 4.7.1
jupyter-notebook : 6.2.0
qtconsole : 5.0.2
ipython : 7.20.0
ipykernel : 5.3.4
jupyter client : 6.1.7
jupyter lab : 3.0.7
nbconvert : 6.0.7
ipywidgets : 7.6.3
nbformat : 5.1.2
traitlets : 5.0.5
Config option `kernel_spec_manager_class` not recognized by `ListNBExtensionsApp`.
Known nbextensions:
config dir: /home/ilyap/.jupyter/nbconfig
notebook section
limit_output/main disabled
table_beautifier/main disabled
jupyter-js-widgets/extension enabled
- Validating: OK
qtconsole/qtconsole disabled
hinterland/hinterland disabled
snippets_menu/main disabled
jupyter-datawidgets/extension enabled
- Validating: OK
collapsible_headings/main disabled
code_font_size/code_font_size disabled
addbefore/main disabled
config dir: /home/ilyap/anaconda3/etc/jupyter/nbconfig
notebook section
bqplot/extension enabled
- Validating: OK
ipyvolume/extension enabled
- Validating: OK
jupyter-webrtc/extension enabled
- Validating: OK
jupyter-datawidgets/extension enabled
- Validating: OK
jupyter-matplotlib/extension enabled
- Validating: OK
jupyter-threejs/extension enabled
- Validating: OK
k3d/extension enabled
- Validating: OK
jupyter-js-widgets/extension enabled
- Validating: OK
qgrid/extension enabled
- Validating: OK
hide_code/hide_code enabled
- Validating: OK
Config option `kernel_spec_manager_class` not recognized by `ListLabExtensionsApp`.
[W 2021-03-01 14:01:32.364 LabApp] Config option `kernel_spec_manager_class` not recognized by `LabApp`.
JupyterLab v3.0.7
/home/ilyap/anaconda3/share/jupyter/labextensions
jupyter-matplotlib v0.8.3 enabled OK
bqplot v0.5.21 enabled OK
jupyterlab-datawidgets v7.0.0 enabled OK
@jupyter-widgets/jupyterlab-manager v3.0.0 enabled OK (python, jupyterlab_widgets)

Other labextensions (built into JupyterLab)
app dir: /home/ilyap/anaconda3/share/jupyter/lab
@arbennett/base16-one-dark v0.1.5 enabled OK
jupyterlab_hidecode v0.1.4 enabled OK

Uninstalled core extensions:
@aquirdturtle/collapsible_headings

```

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Führe zunächst das verknüpfte Matplotlib MultiCursor-Dokumentationsbeispiel in JupyterLab und classic Notebook aus und vergleiche anschließend das Verhalten mit QT. Untersuche den Rendering-Pfad für das Cursor-Widget; als abgeschlossen gilt die Aufgabe, wenn der Multicursor in beiden Jupyter-Umgebungen sichtbar bleibt, sobald die Mausbewegung stoppt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
jupyter, jupyter-notebook
Bereich
frontend
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.