问题描述
我正在尝试按照有关 dash 的教程进行操作:https://www.youtube.com/watch?v=bz2zqXFjOrE
带代码的文本教程: https://pythonprogramming.net/live-graph-twitter-sentiment-analysis-gui-dash-python/
回调缺少输入。
在输出的回调中:
实时图形
没有 Input
元素。
没有 Input
元素,它永远不会被调用。
订阅 Input
组件将导致
每当它们的值改变时调用的回调。
带有凭据的 tweepy 代码运行良好!正常运行,因此问题很可能出在教程中的 dash 文件中。
我在教程代码中所做的更改:
Dash 中不再存在事件,所以我将所有提及事件的词都更改为输入。 我还将回调更改为以下内容:
@app.callback(Output('live-graph','figure'),events=[Input('graph-update','n_intervals')])
然后我在函数中加入了一个虚拟输入(因为我认为它不需要真正的输入,但这可能是我错的地方,不确定):
def update_graph_scatter(graph_update) 而不是 def update_graph_scatter( )
我是 dash 的超级新手,所以如果有人更新了最新的库可以帮助我,我会非常感激!
解决方法
@app.callback(Output('live-graph','figure'),events=[Input('graph-update','n_intervals')])
这是一项改进,但您可以完全删除 events=
部分,这是错误的。
def update_graph_scatter(graph_update) instead of def update_graph_scatter( )
很好的修复。回调中的输入数量必须与函数中的参数数量相同。
其余的代码在我看来没问题,所以我认为一旦你把 events=
去掉它就会工作。