Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何正确使用Plotly';s`@app.callback`函数?_Python_Callback_Plotly - Fatal编程技术网

Python 如何正确使用Plotly';s`@app.callback`函数?

Python 如何正确使用Plotly';s`@app.callback`函数?,python,callback,plotly,Python,Callback,Plotly,我使用Plotly显示多个连接到另一个的数据集。当用户单击主绘图中的某个点时,三个子绘图将相应地更改,如本gif所示: 这是使用Plotly的@app.callback函数完成的,如下所示: @app.callback( Output('mesh', 'figure'), [Input('overview', 'clickData')]) def update_figure(clickData): selected_Re = clickData['points'][0]

我使用Plotly显示多个连接到另一个的数据集。当用户单击主绘图中的某个点时,三个子绘图将相应地更改,如本gif所示:

这是使用Plotly的
@app.callback
函数完成的,如下所示:

@app.callback(
    Output('mesh', 'figure'),
    [Input('overview', 'clickData')])
def update_figure(clickData):
    selected_Re = clickData['points'][0]['x']
    curve_number = clickData['points'][0]['curveNumber']
    trace_name = forces_dict.keys()[curve_number]
    return {
       'data': getMeshTraces(trace_name,selected_Re),
       'layout': go.Layout(
            title='Mesh study for Re = '+str(selected_Re)+' ('+trace_name+')',
            xaxis={'title': 'No. of faces'},
            yaxis={'title': selected_force},
            hovermode='closest'
        )
    }
尽管这似乎工作正常,但在启动应用程序时,它会抛出一个类型错误,即
'NoneType'对象没有属性'\uu getitem'
。我认为这是因为在开始时没有选择任何点,因此变量
clickData
为空。然而,当我试图通过将所有内容
def update\u图(clickData)放入if语句中来防止此错误时:

if clickData is not None:
这实际上破坏了功能,应用程序不再工作。或者,我还尝试将所有内容都放在
try:
语句中,但结果相同。似乎当应用程序启动时,
update\u figure
只被评估一次,然后
if
try
语句的结果被视为静态


如何清理代码,即清除错误消息并保持其当前的功能?

我遇到了与您相同的问题,我解决了这个问题:

from dash.exceptions import PreventUpdate

into callback function:

    if clickData is None:
        raise PreventUpdate 
请检查:

您是否介意提供一个?您好@rpanai,谢谢您的回复!不幸的是,我将无法访问该项目,直到下周三。然后我会更新问题。