Plotly Dash选项卡和交互式图形

时间:2018-11-08 17:38:33

标签: python callback tabs plotly-dash

在我的破折号中,我有一组带有图形的选项卡。每个选项卡都有一个图形。我有一个“ clickdata”回调函数,每次您单击其中一个图形时,该函数都会运行一个函数,并且到目前为止,该函数可以正常工作,而无需更改选项卡。但是,一旦我更改了标签,图表的“ clickdata”回调就会停止工作。有想法吗?

如果有帮助,这是我的代码的结构:

    app = dash.Dash(__name__)

    app.layout = html.Div([
                            ... #deleted code
                          html.Button(id='Calculate_button',
                                    n_clicks=0,
                                    children='Calculate',
                                    style={'fontSize':18,
                                           'width':'100%'}),
                        html.Div([
                            dcc.Tabs(id="tabs",
                                     value='tab-1',
                                     children=[dcc.Tab([dcc.Graph(id='LapLabels',
                                                                  style={'height':1000,
                                                                         'paddingTop':30})],
                                                        label='Lap Labels',
                                                        value='tab-1',
                                                        id='tab-1'),
                                                dcc.Tab([dcc.Graph(id='RacePlot',
                                                                  style={'height':1000,
                                                                         'paddingTop':30})],
                                                        label='Raceplot', 
                                                        value='tab-2',
                                                        id='tab-2'),])])])

    @app.callback(Output('LapLabels','figure'),
                    [Input('Calculate_button','n_clicks')],
                    [State('input1','value'),
                    State('input2','value'),
                    State('csvcontainer','value')])
    def update_Labels(n_clicks,Traffic_Trigger,Slow_Percent2best,path):
        return LapLabels(Traffic_Trigger,Slow_Percent2best,path) #this function returns a figure

@app.callback(Output('Calculate_button','n_clicks'),
                 [Input('LapLabels','clickData'),
                  Input('RacePlot','clickData')],
                 [State('csvcontainer','value')])
def modsc_Labels(hoverData,hoverDataRplot,path):
    return myfunc(hoverData,hoverDataRplot,path) #this function updates the file that LapLabels reads   

0 个答案:

没有答案