Plotly代码报错:positional argument follows keyword argument 求助
解决Plotly堆叠柱状图的SyntaxError问题
报错翻译
SyntaxError: 位置参数位于关键字参数之后
问题分析
- 导入错误:错误地将
plotly.graph_objects导入为px,同时重复导入了非标准包plotly.graph_objs(正确包名为plotly.graph_objects),导致对象引用混乱。 - 语法结构错误:每个
go.Bar()实例应作为data列表的独立元素,但你错误地将后续go.Bar()嵌套在前一个go.Bar()的参数列表中,且未正确闭合多个go.Bar()的括号,触发了Python语法解析错误。 - 颜色未生效:定义了颜色列表但未将其关联到柱状图系列,导致颜色设置无效。
修正后的代码
import plotly.graph_objects as go x = ['18-25', '25-35', '35-45','45-55','55-65'] plot = go.Figure(data=[ go.Bar( name='Bulle de Babel', x=x, y=[97,204,192,145,96], marker_color='#FDCCFF' ), go.Bar( name='Maniet', x=x, y=[30,73,85,80,43], marker_color='#0F22FA' ), go.Bar( name='iPhone', x=x, y=[165,127,143,107,86], marker_color='#D73E0F' ), go.Bar( name='hey', x=x, y=[115,99,92,92,31], marker_color='#ffd700' ), go.Bar( name='usg', x=x, y=[64,59,51,29,23], marker_color='#707070' ) ]) plot.update_layout(barmode='stack') plot.show()
修正说明
- 统一导入规范:使用
plotly.graph_objects的标准别名go,移除重复导入。 - 修复列表结构:将每个
go.Bar()作为data列表的独立元素,正确闭合所有括号,避免嵌套语法错误。 - 绑定颜色:通过
marker_color参数将预设颜色应用到每个柱状图系列,确保颜色显示正常。 - 保留堆叠模式:维持
barmode='stack'配置以实现堆叠柱状图效果。
内容的提问来源于stack exchange,提问作者Elise
相关产品推荐
相关产品推荐

