Advertisement
Guest User

dashGraph

a guest
Mar 25th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.86 KB | None | 0 0
  1. import datetime
  2.  
  3. import dash
  4. import dash_core_components as dcc
  5. import dash_html_components as html
  6. import plotly.graph_objs as go
  7. from collections import deque
  8. import plotly
  9. import random
  10. from dash.dependencies import Input, Output
  11.  
  12.  
  13. X = deque(maxlen=20)
  14. X.append(1)
  15. R = deque(maxlen=20)
  16. R.append(1)
  17. Y = deque(maxlen=20)
  18. Q = deque(maxlen=20)
  19. Y.append(1)
  20. Q.append(1)
  21. app = dash.Dash(__name__)
  22.  
  23. app.layout = html.Div(
  24.     html.Div([
  25.         html.H4('temprature test here'),
  26.         dcc.Graph(id='live-update-graph'),
  27.         html.H4('temp-pressure test'),
  28.         dcc.Graph(id='temp-update-graph'),
  29.         dcc.Interval(
  30.             id='interval-component',
  31.             interval=2*1000, # in milliseconds
  32.             n_intervals=0
  33.         )
  34.     ])
  35. )
  36.  
  37.  
  38. @app.callback([Output('temp-update-graph', 'figure'),
  39.                Output('live-update-graph', 'figure')],
  40.               [Input('interval-component', 'n_intervals')])
  41. def update_graph_live(n):
  42.     R.append(R[-1]+1)
  43.     Q.append(Q[-1]+Q[-1]*random.uniform(-0.1, 0.1))
  44.  
  45.     X.append(X[-1] + 1)
  46.     Y.append(Y[-1] + Y[-1]*random.uniform(-0.1, 0.1))
  47.  
  48.     data1 = plotly.graph_objs.Scatter(
  49.         x=list(X),
  50.         y=list(Y),
  51.         name='Scatter',
  52.         mode='lines+markers'
  53.     )
  54.     rdata1 = {'data': [data1], 'layout': go.Layout(xaxis=dict(range=[min(X), max(X)]),
  55.                                                    yaxis=dict(range=[min(Y), max(Y)]),)}
  56.     data2 = plotly.graph_objs.Scatter(
  57.             r=list(R),
  58.             q=list(Q),
  59.             name='Scatter',
  60.             mode= 'lines+markers'
  61.             )
  62.     rdata2 = {'data': [data2], 'layout': go.Layout(xaxis=dict(range=[min(R), max(R)]),
  63.                                                    yaxis=dict(range=[min(Q), max(Q)]),)}
  64.     return rdata2, rdata1
  65.  
  66.  
  67. if __name__ == '__main__':
  68.     app.run_server(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement