Plotly.relayout call stops the _fullLayout of the DOM object to track subsequent layout changes triggered by mouse interaction
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 18.3k
- Forks
- 2k
- Ø Merge
- 2 T. 12 Std.
- Gemergte PRs (30 T.)
- 28
Beschreibung
Hi,
I had been doing some tests with layout persistence using uirevision and noticed that a manual call to Plotly.Plots.resize or Plotly.relayout after a plot object has been created stops _fullLayout.scene.camera.eye of the DOM object associated to the plot to track the actual value of scene.camera.eye shown in the Plot.
This causes subsequent calls to Plotly.react with the same uirevision to reset the view. This problem does not exist if no manual relayout is done, but I needed resize (and thus relayout) for my use case to adapt the plot size after creation.
Here is a gif example:

and the related codepen link:
https://codepen.io/disberd/pen/xxpgEVq
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
Beginne damit, den Fehler bei der Kamerapersistenz mit dem verknüpften CodePen zu reproduzieren, indem du Plotly.Plots.resize oder Plotly.relayout verwendest, gefolgt von Mausinteraktion und Plotly.react mit demselben uirevision. Verfolge, wie _fullLayout.scene.camera.eye aktualisiert wird, und vergleiche das Verhalten mit und ohne den manuellen Aufruf. Als abgeschlossen gilt die Untersuchung, wenn nachfolgende Plotly.react-Aufrufe die durch Interaktion veränderte Kameraansicht nach dem Resizing oder Relayout beibehalten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript
- Bereich
- data-visualization
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100