MATLAB绘制柱状图带标准误差线

本文详细介绍如何使用Matlab中的Barweb工具绘制带误差棒的柱状图,并提供了解决常见BUG的方法。此外,还介绍了如何自定义图表的颜色及如何在柱状图上添加数据标签。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先在下面网址下载barweb.m文件,将压缩包解压到的.m文件添加到路径:

https://ww2.mathworks.cn/matlabcentral/fileexchange/10803-barweb-bargraph-with-error-bars

在MATLABA中    help barweb  查看具体参数解释

x=[60.82,17.51;43.59,8.32;101.78,13.2]

y=[6.082,1.751;4.359,0.832;10.178,1.32] 

legent={['WT'],['fgl']} 
groupnames= {'group Chl a', 'group Chl b','group car'}
barweb(x,y,1,groupnames,'标题','横坐标','纵坐标',jet,'none',legent,2,'plot')

然而其实你会遇到一个BUG:

解决方法:

点开下载的源码,将151-152行注释掉,换成     x = handles.bars(i).XData + handles.bars(i).XOffset;

再次运行,就好了!

主要是看那个参数列表里只有把所有柱状改成相同颜色的参数,然后那个又很难看,所以修改柱状颜色如下

barmap自己加上去的,修改这个值在0-1之间可以改变颜色。效果如下:

这就比较适合我的简约风啦!!!

如果要在柱状图上添加数据标签:则在如下位置添加:

        if rem(i,2)==0
            text(x,barvalues(:,i)+1,'* *','VerticalAlignment','bottom','HorizontalAlignment','center');
        end

效果图如下:

### Matlab绘制柱状图并显示差的解决方案 在Matlab中,可以通过`bar`函数来创建柱状图,并通过`errorbar`或其他方法实现线的添加。以下是具体实现方式: #### 使用 `bar` 和 `errorbar` 函数 为了在同一图表中展示柱状图及其对应的差范围,可以结合使用 `bar` 和 `errorbar` 函数。以下是一个完整的代码示例[^2]: ```matlab % 数据准备 categories = {'A', 'B', 'C'}; values = [5, 7, 8]; % 各类别对应的高度值 errors = [0.5, 1, 1.5]; % 对应的标准差或差范围 % 创建柱状图 figure; b = bar(values); set(gca,'xticklabel', categories); % 设置X轴标签 hold on; % 添加线 for i = 1:length(categories) x = b(i).XData; % 获取当前柱子的位置 y = b(i).YData; % 获取当前柱子的高度 e = errors(i); % 当前柱子的差值 % 调用 errorbar 函数 errorbar(mean(x), y, e, 'k.', 'linestyle', 'none'); end title('线柱状图'); xlabel('类别'); ylabel('值'); legend('柱状图','线'); hold off; ``` 上述代码实现了线柱状图绘制。其中,`mean(x)`用于获取每根柱子中心位置,而`'k.'`表示黑色圆点作为标记。 #### 安装 cbrewer 配色方案 (可选) 如果希望进一步美化图形颜色,可以根据引用中的说明安装 `cbrewer` 工具箱[^1]。安装完成后,可通过如下命令加载配色方案: ```matlab colormap(cbrewer('qualitative', 'Set1')); colors = parula(length(categories)); % 或者其他调色板 for i = 1:length(b) set(b(i), 'FaceColor', colors(i,:)); end ``` 此部分操作并非必要,但如果追求更专业的视觉效果,则推荐尝试。 #### 注意事项 当处理自定义数据集时,请按照指定格式整理输入文件[^4]。例如,对于多组对比实验的结果表,需将其转换为适合脚本解析的形式(如TXT文档内的三列表结构)。此外,在运行任何第三方工具之前确认已成功导入相应依赖项。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值