Dash Plotly切换Y轴报错:ValueError列名不匹配问题求助
问题排查与解决
核心原因
报错提示已明确指向问题:你的数据框列名是'SCORE'(全大写),但单选按钮传递的Y轴参数是'Score'(首字母大写),大小写不匹配导致Plotly无法找到对应列。
解决步骤
- 修正单选按钮的选项配置
确保dcc.RadioItems的options里的value值和数据框列名完全一致(包括大小写)。正确配置示例:dcc.RadioItems( id='radio', options=[ {'label': '显示SCORE', 'value': 'SCORE'}, # value严格匹配列名 {'label': '显示Points', 'value': 'Points'} ], value='SCORE' # 默认值也使用全大写列名 ) - 回调函数无需额外修改
只要单选按钮的value与列名匹配,回调里直接用argu1作为Y轴参数即可,示例:@app.callback( Output('line-chart', 'figure'), Input('radio', 'value') ) def update_chart(argu1): fig = px.line(df, x='InspecDate', y=argu1) return fig
额外注意点
如果是动态生成单选按钮选项(比如从数据框列名自动提取),直接使用原始列名字符串即可,不要手动修改大小写,避免再次出现匹配错误。
内容的提问来源于stack exchange,提问作者Juergen Buesching
相关产品推荐
相关产品推荐

