【发布时间】:2019-03-21 03:11:01
【问题描述】:
您好,我是 dash 的新手,我正在尝试渲染一个图形,其输出将取决于布局上的两个下拉选择 我已经编写了以下 graph_update 逻辑,但不知何故它不起作用。
app.layout = html.Div([
html.Div([
html.H1('Stock Tickers'),
dcc.Dropdown(
id='my-dropdown',
options=[
{'label': 'A', 'value': 'A'},
{'label': 'B', 'value': 'B'},
{'label': 'C', 'value': 'C'}
],
value='A'
)
],
style={'width': '20%', 'display': 'inline-block'}
),
dcc.Dropdown(
id='my-dropdown1',
options=[
{'label': '250,000', 'value': '250000'},
{'label': '500,000', 'value': '500000'},
{'label': '750,000', 'value': '750000'},
{'label': '1,000,000', 'value': '1000000'}
],
value='250000'
),
dcc.Graph(id='my-graph')
], className="container")
@app.callback(Output('my-graph', 'figure'),
[Input('my-dropdown', 'value'), Input('my-dropdown1', 'value')])
def update_graph(selected_dropdown_value, selected_imp_value):
dff = df[(df['Demo'] == selected_dropdown_value) & (df['Imp_cap'] == selected_impresession_value)]
return {
'data': [{
'x': dff.Imp
'y': dff.user,
'line': {
'width': 3,
'shape': 'spline'
}
}],
'layout': {
'margin': {
'l': 30,
'r': 20,
'b': 30,
't': 20
}
}
}
希望有人能帮我解决问题
提前非常感谢!!
【问题讨论】:
-
如果没有示例数据框,这很难做到。但是,您可以在开始时纠正几个语法错误。在
'x': dff.Imp后面需要一个逗号,并且需要将selected_impresession_value更改为selected_imp_value,因为这是您为函数定义参数的方式。如果您可以编辑您的帖子以包含示例df,我会尽力提供更多帮助! -
您好coralvanda,感谢您的回复。真的很感激。我设法做到了。我不确定这是否是最好的方法。有什么想法吗??
标签: python graph plotly plotly-dash