如何把errorbars放在我的分组条形图使用MATLAB函数ERRORBAR ?

693(30天)
我使用下面的创建分组条形图:
model_series = [10 40 50 60;20 50 60 70;30 60 80 90);
model_error = [1 4 8 6;2 5 9日12;3 6 10 13);
栏(model_series,“分组”);
持有
errorbar (model_series model_error)
分组的结果是一个条形图之间的误差线放在酒吧的每一组:
我想有“errorbar”中心每一栏上的误差。

接受的答案

MathWorks支万博1manbetx持团队
编辑:MathWorks支万博1manbetx持团队 2021年3月17日
指定“errorbar”功能的能力应该显示斑块内的误差在MATLAB是不可用的。
有两个队伍工作这个限制,使用哪个取决于你使用MATLAB的释放。
R2019a或更早的版本:
找到每个酒吧的中心,通过数据转换成“errorbar”各自的误差值。
%示例数据
model_series = [10 40 50 60;20 50 60 70;30 60 80 90);
model_error = [1 4 8 6;2 5 9日12;3 6 10 13);
b =酒吧(model_series“分组”);
持有
%找到组织的数量和酒吧每组的数量
[ngroups, nbars] =大小(model_series);
%计算每个杆组的宽度
groupwidth =最小(0.8,nbars / (nbars + 1.5));
%设置每个误差棒的位置在市中心的主要酒吧
基于barweb %。m×Bolu从MATLAB文件交换的例子
我= 1:nbars
%计算中心的酒吧
x = (1: ngroups) - groupwidth / 2 +(2 *张)* groupwidth / (2 * nbars);
errorbar (x, model_series(:,我),model_error(:,我)“k”,“线型”,“没有”);
结束
持有
R2019b或更高版本:
检索每个酒吧使用的x坐标“XEndPoints”属性并将该数据转换为“errorbar”:
%示例数据
model_series = [10 40 50 60;20 50 60 70;30 60 80 90);
model_error = [1 4 8 6;2 5 9日12;3 6 10 13);
b =酒吧(model_series“分组”);
持有
%计算组的数量在每组的数量和酒吧
[ngroups, nbars] =大小(model_series);
%的x坐标
x =南(nbars ngroups);
我= 1:nbars
x(我:)= b(我).XEndPoints;
结束
%绘制errorbars
errorbar (x ' model_series model_error,“k”,“线型”,“没有”);
持有
2的评论
Abboud迈克尔
Abboud迈克尔 2017年8月1日
嗨Miraflor,这个答案最近更新。
如果以上方法仍然在偏心误差结果,我建议你主要看3 rd-to-last线位置计算,或联系MathWorks技术支持进一步的帮助。万博1manbetx

登录置评。

更多的答案(0)

s manbetx 845


释放

没有释放进入。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!