matplotlib / matplotlib/ipympl
Matplotlib Fails to Update Axis Limits with ipywidgets in Jupyter Lab
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
I'm using ipywidgets along with matplotlib in Jupyter Lab and stumbled across some strange behavior. Here's an example of the code:
import matplotlib.pyplot as plt
import ipywidgets as widgets
%matplotlib widget
plt.ioff()
d = {
"a": [1,2,3],
"b": [2,3,4]
}
fig, ax = plt.subplots()
def update(change):
data = d[change["new"]]
ax.clear() # Clear the previous plot
ax.plot(data, data)
ax.set_xlim(min(data), max(data))
ax.set_ylim(min(data), max(data))
ax.figure.canvas.draw()
dropdown = widgets.Dropdown(options = list(d.keys()))
dropdown.observe(update, "value")
display(dropdown, fig.canvas)
update({"new": "a"})
The steps I carry out are as follows:
- Select
bfrom dropdown - Pan the plot
- Select
afrom dropdown - Click on the "Reset original view" button on the plot
Instead of snapping the plot extents back to what they are set for choice a, I instead get the following:
Where it looks like matplotlib has indeed plotted the data [1,2,3], but somehow failed to update the axis limits based on that data.
I really hope this isn't a bug, and that I'm doing something wrong. Has anyone seen this behavior before?
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie damit, den Jupyter Lab-Reproducer im Issue mit dem ipywidgets-Dropdown und dem Matplotlib-Widget-Backend auszuführen, und führen Sie anschließend die aufgeführte Sequenz aus Auswahl, Schwenken und Zurücksetzen durch. Vergleichen Sie die wiederhergestellten Achsengrenzen mit den für jeden Datensatz festgelegten Grenzen; als erledigt gilt es, wenn die zurückgesetzte Ansicht nach dem Wechsel von b zu a den aktuell ausgewählten Daten entspricht.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- jupyter, jupyter-notebook, python
- Bereich
- data-visualization
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 40/100
