在VS Code中用Plotly实现柱状图按元素列变色、加误差棒及改标签
解决方案
针对你的需求,以下是修改后的代码,同时实现基于Elements列设置柱状颜色、添加误差棒、修改图表标签三个功能:
实现说明
- 按Element设置不同颜色:为每个柱状图trace的
marker_color传入与Elements长度匹配的颜色列表,每个元素对应专属颜色。 - 添加误差棒:在
go.Bar中通过error_y参数配置,将你的Error列表传入array字段,同时可自定义误差棒的颜色等样式。 - 修改图表标签:通过
update_layout设置图表标题、X轴和Y轴的标题,保留原有的分组柱状图布局和X轴标签旋转效果。
完整代码
import plotly.graph_objects as go Elements = ["A", "B", "C", "D", "E", "F", "G", "H"] Error = [0.2, 0.1, 0.05, 0.1, 0.2, 0.5, 0.1, 0.3] # 定义与Elements对应的颜色列表,可按需替换颜色值 element_colors = ['#FF6B6B', '#4ECDC4', '#45B7D1', '#96CEB4', '#FFEAA7', '#DDA0DD', '#98D8C8', '#F7DC6F'] fig = go.Figure() # 第一个柱状图系列 fig.add_trace(go.Bar( y=[0.1, 2, 5, 7, 5, 4, 1.5, 1.2], x=Elements, name='元素组1', marker_color=element_colors, error_y=dict( type='data', array=Error, visible=True, color='black' ) )) # 第二个柱状图系列 fig.add_trace(go.Bar( y=[3.3, 1.9, 0.2, 1.5, 2.1, 1.7, 3.7, 1.5], x=Elements, name='元素组2', marker_color=element_colors, error_y=dict( type='data', array=Error, visible=True, color='black' ) )) # 配置图表标签与布局 fig.update_layout( title='元素分组对比柱状图', xaxis_title='元素类型', yaxis_title='数值', barmode='group', xaxis_tickangle=-45 ) fig.show()
自定义提示
- 颜色列表
element_colors可替换为任意RGB/HEX颜色值,只需保证长度与Elements一致。 - 误差棒的样式可通过
error_y中的thickness(线宽)、width(误差帽宽度)等参数调整。 - 图表标题和轴标签文本可根据实际场景修改。
内容的提问来源于stack exchange,提问作者hunny
相关产品推荐
相关产品推荐

