plotly / plotly/plotly.js

Scatter3D does not remember its visual state in certain conditions

Đang mở
#5,560 4 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

bug P3
Ngôn ngữ chính
JavaScript
Star
18.3k
Fork
2k
Merge trung bình
2 ngày 12 giờ
Pull request đã merge (30 ngày)
28

Mô tả

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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu với bản tái hiện CodePen được liên kết và kiểm thử các tương tác Scatter3D, tiếp đó là các cập nhật bằng Plotly.restyle hoặc control-button. Theo dõi việc xử lý trạng thái trực quan đối với các thay đổi từ mouse-wheel và touch-pad; được xem là hoàn tất khi mức thu phóng, hướng và vị trí vẫn giữ các giá trị mới nhất sau các thao tác làm mới.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
javascript
Lĩnh vực
data-visualization, frontend
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.