Figure resizing with AnyWidget doesn't work as expected
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 18.8k
- Forks
- 2.8k
- Ø Merge
- 16 Std. 26 Min.
- Gemergte PRs (30 T.)
- 21
Beschreibung
See: https://community.plotly.com/t/plotly-v6-0-figure-resizing-with-ipywidgets/89424
import ipywidgets as widgets
import plotly.graph_objs as go
from ipywidgets import HTML, VBox
fig = go.FigureWidget(data=[go.Scatter(x=[1, 2, 3], y=[4, 5, 6])])
custom_css = """
<style>
.plot-container {
width: 100%;
height: 100%;
}
</style>
"""
fig.add_class("plot-container")
container = VBox(
[fig],
layout=widgets.Layout(
width="500px",
height="600px",
border="solid red",
),
)
display(HTML(custom_css), container)
5.24
6.0
A follow-up:
fig.layout.autosize = True
works, but it is poorly implemented. For example if it is set before displaying fig, it many times does not respect this decision. So I usually set it after display. Still if container size changes, it is not going well on its own and you may need to reset it. Honestly, to me it looks like sending a message through this trait which upon setting it again to same value works, although a Bool trait does not work like that. Ideally we should set this once and javascript behind the scene should observe the container size change automatically.
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
Es werden keine Dateien oder Tests genannt. Beginnen Sie damit, das bereitgestellte ipywidgets-Beispiel mit den Versionen 5.24 und 6.0 auszuführen, und untersuchen Sie anschließend das Verhalten beim Ändern der Größe von FigureWidget/AnyWidget sowie die weitere Arbeit an autosize. Als erledigt gilt die Aufgabe, wenn die Abbildung zuverlässig ihren Container ausfüllt und automatisch reagiert, wenn sich die Größe des Containers ändert, einschließlich eines Regressionstests für den reproduzierten Fall.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- jupyter-notebook, python
- Bereich
- data-visualization, frontend
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100