plotly / plotly/plotly.js

Scatter3D does not remember its visual state in certain conditions

Ouverte
#5,560 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug P3
Langage dominant
JavaScript
Étoiles
18.3k
Forks
2k
Merge moyen
2 j 12 h
PR mergées (30 j)
28

Description

Visual state is zoom level, orientation, position, etc...
Checking for saving state: simply click on one of this control buttons: image or call Plotly.restyle. None of these actions should change the visual state.

Bugs briefly:

  1. Mouse wheel zooming not saving last zoom lvl (always reverted to previous zoom lvl).
  2. Touch pad zooming/rotating/moving not saved at all.

Сonditions under which the visual state is not preserved:

Zoom without mouse click - by mouse wheel.
Each odd iteration of zoom level with mouse wheel - will not be remembered. Why odd? Because plotly will save previous zoomlvl after next zoom. In other words - mouse wheel zoomlvl will be reverted 1 step back after restyle or other refresh actions.

https://user-images.githubusercontent.com/17767561/111899838-13396280-8a40-11eb-87ba-4849c2602679.mp4

This make mouse wheel zooming not usable with updating by time interval (Plotly.restyle) plots. Side note - if your click any where in the plot after mouse wheel zoom - zoomlvl will be stored.

Any plot manipulation with touch pad.
Here same behavior - touch any where in the plot after manipulating - will store visual state. See video below.

https://user-images.githubusercontent.com/17767561/111899939-bc805880-8a40-11eb-9d72-be0d15e8e907.mp4

Repro: https://codepen.io/k_sze/pen/WXgNoJ (from #2181). You can click buttons or call restyle() function in console.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par la reproduction CodePen liée et testez les interactions de Scatter3D, puis les mises à jour via Plotly.restyle ou control-button. Suivez la gestion de l’état visuel lors des changements de mouse-wheel et de touch-pad ; c’est terminé lorsque le zoom, l’orientation et la position conservent leurs dernières valeurs après les actions d’actualisation.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript
Domaine
data-visualization, frontend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.