When using the scroll wheel to zoom, onRelayout seems to output the tiniest initial change rather than the layout at the end of the event (as using Zoom mode and clicking/dragging does), meaning the event better reflects the camera before the action rather than after, e.g:
zooming in one 'click' of the scroll wheel will output with event.scene.camera.eye.x = 1.2499999999999998, only a tiny change from the default of 1.25
zooming in again will output with event.scene.camera.eye.x = 0.94622499477157, a change of ~0.3 inwards
then zooming out will output with event.scene.camera.eye.x = 0.7210090673130023, a change of ~0.2 inwards, representing another zoom in rather than out, when in theory we should be back to the position we were in after 1 zoom in
Also, if you click on the plot, then use the scroll wheel to zoom, the onRelayout event will often (but not always) be {}
When using the scroll wheel to zoom, onRelayout seems to output the tiniest initial change rather than the layout at the end of the event (as using Zoom mode and clicking/dragging does), meaning the event better reflects the camera before the action rather than after, e.g:
event.scene.camera.eye.x = 1.2499999999999998
, only a tiny change from the default of 1.25event.scene.camera.eye.x = 0.94622499477157
, a change of ~0.3 inwardsevent.scene.camera.eye.x = 0.7210090673130023
, a change of ~0.2 inwards, representing another zoom in rather than out, when in theory we should be back to the position we were in after 1 zoom inAlso, if you click on the plot, then use the scroll wheel to zoom, the onRelayout event will often (but not always) be
{}
Example (interact with plot as above and see console logs): https://codesandbox.io/s/compassionate-sara-hl4k9m