Python Dash绘图更新表

时间:2018-09-13 20:11:15

标签: pandas dataframe callback plotly-dash

我在大熊猫中有一个Dataframe,叫做interesttable,它会随着时间(秒)而更新。我正在使用Dash来显示数据框。尽管我成功地在Dash中显示了数据框,但是我无法使用数据框中添加的新行来更新Dash。我尝试以下操作,但不起作用。谢谢您的反馈!

def generate_table():
    return html.Table(
    # Header
    [html.Tr([html.Th(col) for col in interesttable.columns])] +

    # Body
    [html.Tr([html.Td(interesttable.iloc[i][col]) for col in interesttable.columns])
    for i in range(min(len(interesttable), 50))]

    )


app = dash.Dash()

app.layout = html.Div(children=[

html.H1(children='Interest Table'),
dcc.Interval(id='generate_table()',interval=1*1000),

generate_table()

])

app.callback(Output('generate_table()','children'), [Input('interesttable', 'n_intervals')])


if __name__ == '__main__':
app.run_server(debug=True)

不幸的是,我收到的错误是:

 Here is a list of the available properties in "generate_table()":
 ['id','interval','disabled','n_intervals','max_intervals']

1 个答案:

答案 0 :(得分:0)

app.callback应该不是装饰器吗?

尝试:

@app.callback(Output('generate_table()','children'), [Input('interesttable', 'n_intervals')])

我也看不到n_intervals声明。

您应该添加它:

app.layout = html.Div(children=[html.H1(children='Interest Table'), dcc.Interval(id='generate_table()',interval=1000,n_intervals=0 ),generate_table()])