我想在条形图中绘制不同的错误栏std_a/b/c
a=5; std_a=0.9;
b=6; std_b=0.5;
c=7; std_c=0.2;
%plot
bar([a,b,c]);
errorbar([a,b,c],[std_a,std_b,std_c]);
不知怎的,这不起作用。如何为每个条获得正确的错误栏?
答案 0 :(得分:2)
你很亲密。默认情况下,errorbar
会绘制一条线并向其添加错误栏,如果您尚未调用hold on
或hold all
,则会覆盖您已有的内容。如果您只想要误差线而不是它们之间的线,请给它一个仅绘制点的绘图格式,例如r.
:
bar([a,b,c]);
hold on
errorbar([a,b,c],[std_a,std_b,std_c],'r.');
答案 1 :(得分:1)
我必须改善x轴上误差条的位置,因为对于多个数据系列,条形并排显示,而误差条可能会出现在另一个的顶部。
对于具有两列的数据和相同大小的serr(在我的情况下为标准错误),我使用向左和向右移动+ -1.4(参见下面代码中的间隙)。
gap=0.14;
X=1:length(data);
X=[X'-gap,X'+gap];
errorbar(X,data,serr,'k.');
如果要最小化底部条,以便只显示顶部错误条,则可以指定第三个输入参数,其中零的大小与serr相同。