matplotlib / matplotlib/ipympl

Nesting into HBox collapses plot width

Offen
#125 1 Kommentar 2 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

Here's another effect of requiring the canvas size explicitly, but somehow isn't visible unless the plot gets dropped into an ipywidgets layout (e.g. by a downstream package).

If the interactive matplotlib is the child of one p-Panel, it's fine. But gets squashed as the child of two p-Panels (regardless of orientation).

Explicitly setting canvas.layout.width fixes it, and propagates to the front-end as expected.

from ipywidgets import HTML, HBox, VBox
from matplotlib.figure import Figure
from ipympl.backend_nbagg import Canvas, FigureManager

figure = Figure()
canvas = Canvas(figure)
canvas.manager = FigureManager(canvas, 0)

axes = figure.add_subplot(1,1,1)
HBox([HBox([HTML(''), canvas])])
HBox([canvas])


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

Beginne mit dem bereitgestellten Canvas/FigureManager-Reproduzierer in einem Notebook und vergleiche einen Canvas in einer HBox mit demselben Canvas, der in zwei HBoxes verschachtelt ist. Untersuche, wie die Canvas-Größe an ipywidgets-Layouts weitergegeben wird; abgeschlossen ist die Aufgabe, wenn das Diagramm seine Breite beim Verschachteln beibehält, ohne canvas.layout.width explizit zu setzen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
jupyter-notebook, matplotlib, python
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.