我正在尝试在Dash(plotly)应用中运行带有2个下拉列表的多重回调。
这是我得到的代码:
all_options = {
‘group_1’: series[1:5],
‘group_2’: series[6:10],
‘group_3’: series[11:-1],
}
app.layout = html.Div(children=[
html.P([html.Label(“Choose a group:”),
dcc.Dropdown(id=‘groups_dropdown’, options=[{‘label’: k, ‘value’: k} for k in all_options.keys()],
value=‘group_1’)],
style=dict(width=‘400px’)
),
html.P([html.Label("Choose a series:"),
dcc.Dropdown(id='series_dropdown')],
style=dict(width='400px')
),
dcc.Graph(
id='plot_1_1',
figure=fig,
style=dict(width='800px')
)
])
@app.callback([Output(‘series_dropdown’, ‘options’)],
[Input(‘groups_dropdown’, ‘value’)])
def set_series_options(selected_group):
return [{‘label’: i, ‘value’: i} for i in all_options[selected_group]]
@app.callback([Output(‘series-dropdown’, ‘value’)],
[Input(‘series-dropdown’, ‘options’)])
def set_series_value(available_options):
return available_options[0][‘value’]
我收到此错误,但我坚持下去:
Traceback (most recent call last):
File "C:/Quant/EM_Py/Interface/DASH_CORE_1.2.py", line 119, in <module>
[Input('series-dropdown', 'options')])
File "C:\Users\Candriam\Anaconda3\lib\site-packages\dash\dash.py", line 1156, in callback
self._validate_callback(output, inputs, state)
File "C:\Users\Candriam\Anaconda3\lib\site-packages\dash\dash.py", line 865, in _validate_callback
list(layout.keys()) + (
**AttributeError: 'Div' object has no attribute 'keys'**