如果元素中的值更改,则执行回调

时间:2018-08-28 09:22:44

标签: python plotly-dash

假设我正在对几个因变量(d1d2d3)进行线性回归,以预测数据流。

id

每当计数更改值(即app = dash.Dash() app.layout = html.Div([ dcc.Interval(id='data-stream', interval=1000, n_intervals=0), html.Div(id='count'), html.Div(id='betas'), ]) @app.callback( Output('count', 'children'), [Input('data-stream', 'n_intervals')] ) def get_count(data): df = pd.read_csv(*some url that updates and returns a csv*) count = len(df['id']) return html.H2(f'The count is {count}') @app.callback( Output('betas', 'children'), [*what goes in here?*] ) def run_regression(*arg_inputs): # Run Regression here that outputs a table of betas 而不是依赖于时间间隔时,如何进行回调(运行回归)?

我看过html.Div(id='count')的文档,甚至尝试将Event作为Input('count', 'children')函数的回调装饰器的inputs参数,它仍然流而不是在观察计数发生变化时重新运行回归。

1 个答案:

答案 0 :(得分:0)

您的输入应为count,您可以使用类似的输入

@app.callback(
    Output('betas', 'children'),
    Input('count','value')
)
def run_regression(count_value):
    # Run Regression here that outputs a table of betas

这里的输入就像您提到的count的长度一样,因此您可以使用它执行所需的操作(确保可以在函数run_regression中添加打印以打印count_value来查看它的外观) 如果您需要更多帮助,则应解释run_regression函数应该做什么;)