I am using a 3DScatter plot which is dynamically being updated with new data. The issue is that while it’s being updated, I cannot manipulate it - zoom, rotate, pan do not work.
If I click on the control icons, I can start doing the operation that i’ve enabled. However, while performing the action with the mouse, it always keeps resetting the view to the default.
Does anyone know why this is happening and/or how to fix it?
With the following app, the graph is not responding to mouse controls at all while updating. If I use the navbar options to “lock” the controls to a specific type (pan, zoom, rotate, etc), it starts responding but continuously resets.
#!/usr/bin/env python3
import plotly.graph_objects as go
from dash import Dash, dcc, html
from dash.dependencies import Input, Output
import random
app = Dash("Emulator Trace")
g = go.Scatter3d(name="shape", mode="lines", x=[], y=[], z=[])
l = go.Layout(autosize=False, width=1800, height=1800,
margin=go.layout.Margin(l=50, r=50, b=100, t=100, pad=4),
uirevision=True)
fig = go.Figure(g, layout=l)
app.layout = html.Div([
html.Div([
dcc.Graph(id="travel-plot", figure=fig),
dcc.Interval(id="interval-component", interval=40, n_intervals=0)
]),
])
@app.callback(Output('travel-plot', 'extendData'),
Input('interval-component', 'n_intervals'))
def update_path_data(n):
x, y, z = [random.randrange(0, 300) for _ in range(3)]
data = {'x':[[x]], 'y': [[y]], 'z': [[z]]}
return data
app.run(debug=True)