@ilovecheese wrote:
Hey, I am trying to use Dash Interval to periodically update a map. However, I am having trouble even getting a minimal viable example working. I tried the code below, based on here, but the graph in the browser does not update continuously. It does update when I refresh the browser, but even then, very slowly.
(NOTE: I was having the same issues w/ the example on the Dash website here)
Please help, Thanks!
import dash from dash.dependencies import Output, Input import dash_core_components as dcc import dash_html_components as html import random from collections import deque X = deque(maxlen=20) X.append(1) Y = deque(maxlen=20) Y.append(1) app = dash.Dash(__name__) app.layout = html.Div( [ dcc.Graph(id='live-graph', animate=True), dcc.Interval( id='graph-update', interval=1*10 ), ] ) @app.callback(Output('live-graph', 'figure'), [Input('graph-update', 'interval')]) def update_graph_scatter(i): X.append(X[-1]+1) Y.append(Y[-1]+Y[-1]*random.uniform(-0.1,0.1)) data = { 'x': list(X), 'y': list(Y), 'name': 'Scatter', 'mode': 'lines+markers' } return {'data': [data], 'layout' : {'xaxis': dict(range=[min(X),max(X)]), 'yaxis': dict(range=[min(Y),max(Y)])} } if __name__ == '__main__': app.run_server(debug=True)
Posts: 4
Participants: 2