如何在MATLAB条形图中仅为蓝色条形添加误差棒?
仅为指定条形添加误差棒的MATLAB实现
你可以通过获取条形对象的位置信息,针对性地为蓝色条形(第一组数据)单独绘制误差棒,具体实现代码如下:
y = [-2.75 -2.91; -0.48 -0.44]; X = categorical({'AWS1','AWS2'}); % 保存条形图对象句柄,方便后续操作 barObj = bar(X,y); set(gca, 'fontsize', 14); ylim([-3 1]) box on grid on % 定义蓝色条形对应的误差值(对应-2.75±0.22和-0.48±0.68) err = [0.22; 0.68]; % 提取蓝色条形的中心x坐标 xPos = barObj(1).XData; % 提取蓝色条形的高度y值 yPos = barObj(1).YData; % 绘制误差棒,匹配蓝色条形的颜色,隐藏多余连线 errorbar(xPos, yPos, err, 'Color', barObj(1).FaceColor, 'LineStyle', 'none')
关键逻辑说明:
- 调用
bar时保存对象句柄barObj,barObj(1)对应第一组(蓝色)的条形对象 - 提取蓝色条形的
XData(中心横坐标)和YData(高度值),结合误差值用errorbar绘制误差棒 - 设置
'LineStyle', 'none'仅保留误差棒的上下短线,避免干扰条形图;'Color'参数匹配蓝色条形的颜色,保证视觉一致性
内容的提问来源于stack exchange,提问作者user5618251
相关产品推荐
相关产品推荐

