多值下拉的回调
Callback for multivalue dropdown
我是 Plotly Dash 的新手,一直在努力解决多值下拉回调问题,非常感谢任何帮助。基本上我已经按照教程创建了一个饼图,如果选择了一个支柱(来自我的数据)值。我想实现两件事:
- 默认或初始图表应显示所有支柱和项目数量
- 多选柱值
我的主要问题实际上是为这些创建回调。预先感谢您的帮助!!
这是我的代码
app = dash.Dash(__name__)
all = df.Pillar.unique()
app.layout=html.Div([
html.H1("PM dashboard"),
dcc.Dropdown(id='pillar-choice',
options=[{'label':x, 'value':x}
for x in all],
value='Service Provider',
multi=False),
dcc.Graph(id='my-graph',
figure={}),
])
@app.callback(
Output(component_id='my-graph', component_property='figure'),
Input(component_id='pillar-choice', component_property='value')
)
def interactive_graphs(value_pillar):
print(value_pillar)
dff = df[df.Pillar==value_pillar]
fig = px.pie(data_frame=dff, names='Pillar', values='Project No')
return fig
if __name__=='__main__':
app.run_server()
我认为这里的问题是 value_pillar
将是一个列表,因此您需要执行以下操作:
dff = df[df.Pillar.isin(value_pillar)]
如果您想默认显示所有内容,则需要检查该参数的值是否为您的默认值,如果它与默认值匹配,则避免过滤。
我是 Plotly Dash 的新手,一直在努力解决多值下拉回调问题,非常感谢任何帮助。基本上我已经按照教程创建了一个饼图,如果选择了一个支柱(来自我的数据)值。我想实现两件事:
- 默认或初始图表应显示所有支柱和项目数量
- 多选柱值
我的主要问题实际上是为这些创建回调。预先感谢您的帮助!!
这是我的代码
app = dash.Dash(__name__)
all = df.Pillar.unique()
app.layout=html.Div([
html.H1("PM dashboard"),
dcc.Dropdown(id='pillar-choice',
options=[{'label':x, 'value':x}
for x in all],
value='Service Provider',
multi=False),
dcc.Graph(id='my-graph',
figure={}),
])
@app.callback(
Output(component_id='my-graph', component_property='figure'),
Input(component_id='pillar-choice', component_property='value')
)
def interactive_graphs(value_pillar):
print(value_pillar)
dff = df[df.Pillar==value_pillar]
fig = px.pie(data_frame=dff, names='Pillar', values='Project No')
return fig
if __name__=='__main__':
app.run_server()
我认为这里的问题是 value_pillar
将是一个列表,因此您需要执行以下操作:
dff = df[df.Pillar.isin(value_pillar)]
如果您想默认显示所有内容,则需要检查该参数的值是否为您的默认值,如果它与默认值匹配,则避免过滤。