gpt4 book ai didi

plotly - 无法让多个输入和输出在 Dash 中工作

转载 作者:行者123 更新时间:2023-12-04 17:34:01 27 4
gpt4 key购买 nike

我正在尝试创建一个包含来自下拉列表的多个(1 到 4 个)输入的图表。我希望拥有与所述图中输入一样多的条形图。不幸的是,我似乎无法让它工作。

当我“手动”创建图形时,通过在列表中包含一个条形列表然后调用它:(我只展示了代码的相关部分,我有 app.layout,所有必要的 div 等)

departments = ['ladies','mens','accessories','kids']
output = []
for dep in departments:
output.append(
go.Bar(
name = dep,
x = categories[(categories.category == dep)]['sales']
))
dcc.Graph(figure = go.Figure(data = output))

按预期工作,绘制条形图。

我尝试使用部门下拉列表进行回调:

dcc.Dropdown(
id = 'departament_b',
options =[
{'label': 'Ladies', 'value': 'ladies'},
{'label': 'Mens', 'value': 'mens'},
{'label': 'Accessories', 'value': 'accessories'},
{'label': 'Kids', 'value': 'kids'}
],
value = ['ladies','mens','accessories','kids'],
multi = True
)
,
dcc.Graph(id = 'kategorie-sls')

然后我有我的回调:

@app.callback(
[Output('kategorie-sls', 'figure')],
[Input('departament_b', 'value')]
)

以及更新图形的函数:

def categories-sales(department_b):
graph = []
for dep in department_b:
graph.append(go.Bar(
name = dep,
x = categories[(categories.category == dep)]['sales']
))

我得到了错误:

dash.exceptions.InvalidCallbackReturnValue: Invalid number of output values for ..kategorie-sls.figure...

期望 1 得到 4

如果我从下拉列表中选择 1 个值(或将其更改为非多值并在 value = ['ladies'] 中仅放入 1 个值,我会收到此错误:

Failed component prop type: Invalid component prop `figure` key `name` supplied to Graph. Bad object: { 
"name": "ladies", "x": [ 18535.059999999998 ], "type": "bar" } Valid keys: [ "data", "layout", "frames" ]

*(This error originated from the built-in JavaScript code that runs Dash apps. Click to see the full stack trace
or open your browser's console.)*

我试过将输出放入字典 in this question :

return {'data' : graph}

但是我只是得到一个错误,输出应该是一个列表还是一个元组......

我想要实现的目标是否可行?

最佳答案

问题是我的回调输出是一个列表,但函数的实际输出不是一个列表,它应该是一个列表。如果 callbackOutput 未定义为列表

@app.callback(Output('xx','value'),..)

然后它按预期工作。感谢@alexcjohnson @plotly 社区论坛 https://community.plot.ly/t/cannot-get-multiple-inputs-and-multiple-outputs-to-work/26945

关于plotly - 无法让多个输入和输出在 Dash 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57395546/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com