Plotly DASH 教程 --> 在 Twitter 情绪分析中回调缺失的输入

问题描述

我正在尝试按照有关 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-up​​date','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= 去掉它就会工作。