Участок в Da sh Python не обновляется - PullRequest
2 голосов
/ 27 мая 2020

Когда я запускаю код, я получаю график, но график не обновляется, я вызываю данные из своего sql ноутбука sql студии управления.

Пожалуйста, дайте мне знать, что должно быть сделано, ось X содержит дату и время, а ось Y содержит данные в формате numeri c, который обновляется автоматически

Код:

import pandas as pd
import pyodbc
import numpy as np

server ='LAPTOP-OO3V36UA\SQLEXPRESS'
db='addy'

conn=pyodbc.connect('DRIVER={SQL Server}; SERVER=' +server + ';DATABASE=' + db + 
';Trusted_connection=yes')

 sql="""

 SELECT * FROM Summry

"" "

 df=pd.read_sql(sql ,conn)

import dash
from dash.dependencies import Output, Input
import dash_core_components as dcc
import dash_html_components as html
 from random import random
import plotly

app = dash.Dash(__name__)
app.layout = html.Div([
    dcc.Graph(id='live-update-graph-scatter', animate=True),
    dcc.Interval(
        id='interval-component',
        interval=1*1000
    )
])

@app.callback(Output('live-update-graph-scatter', 'figure'),
          [Input('interval-component', 'interval')])

def update_graph_scatter():

df=pd.read_sql(sql ,conn)
trace1=go.Scatter(
y=df['ACL'],
x = df['DateandnTime'],
mode='lines',
name='ACL'

)
layout = go.Layout(
title='Daily Monitoring'
)
return {'data': trace1, 'layout': layout}
if __name__ == '__main__':
app.run_server()

1 Ответ

1 голос
/ 27 мая 2020

Вы установили вход обратного вызова на

Input('interval-component', 'interval')

Но вы хотите

Input('interval-component', 'n_intervals')

Свойство interval устанавливает, как часто n_intervals обновляется. Изменение в n_intervals - это то, что можно использовать для запуска обратного вызова.

Вот документация: https://dash.plotly.com/dash-core-components/interval

...