You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly Dash-Python:回调函数Schema验证错误求助

问题分析与解决方法

这个错误的核心是你的Dash回调绑定了两个输出组件,但只返回了单个Figure对象,而Dash要求绑定多个输出的回调必须返回元组或列表格式的多个值,每个值对应一个Output。

具体修正步骤

  • 确认回调装饰器里的Output是数组/列表形式,比如:
    @app.callback(
        [Output('success-pie-chart', 'figure'),
         Output('success-payload-scatter-chart', 'figure')],
        [Input('site-dropdown', 'value'),
         Input('payload-range-slider', 'value')]
    )
    
  • 修改回调函数,确保它同时生成饼图和散点图,并返回两个Figure组成的元组或列表:
    def update_charts(selected_site, payload_range):
        # 1. 生成成功率饼图
        filtered_data_pie = ... # 根据selected_site过滤数据的逻辑
        pie_figure = px.pie(filtered_data_pie, values='success', names='outcome') # 替换为你的饼图生成代码
    
        # 2. 生成载荷散点图
        filtered_data_scatter = ... # 根据payload_range过滤数据的逻辑
        scatter_figure = px.scatter(filtered_data_scatter, x='payload_mass', y='success') # 替换为你的散点图生成代码
    
        # 返回两个图表,元组或列表格式都可
        return pie_figure, scatter_figure
    
  • 注意:哪怕其中一个图表不依赖某个输入,也必须返回对应Figure,不能省略。比如散点图只依赖滑块、饼图只依赖下拉框时,回调仍需同时处理两个输入,返回两个输出。

常见误区

  • 不要只返回单个Figure,哪怕其中一个图表无变化,也要返回它的实例或重新生成。
  • 不要把两个Figure合并成一个对象返回,必须是独立的两个对象组成的可迭代结构(元组/列表)。

内容的提问来源于stack exchange,提问作者Funerus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 09:30:37