2014-09-16 4 views
0

에 다른 errorbars 음모 어떻게 막대 그래프MATLAB은 : 막대 그래프

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]); 

어떻게 든이 작동하지 않는 경우에 다른 errorbars std_a/b/c을 플롯합니다. 각 막대에 대해 올바른 오류 막대를 얻는 방법은 무엇입니까?

답변

2

끝났습니다. errorbar은 기본적으로 라인을 플롯하고 errorbars를 추가하며, hold on 또는 hold all을 호출하지 않으면 이미 갖고있는 것을 덮어 씁니다. 때문에 하나 이상에 대한

bar([a,b,c]); 
hold on 
errorbar([a,b,c],[std_a,std_b,std_c],'r.'); 
0

내가 x 축에 오차 막대의 위치를 ​​개선했다 : 당신은 그냥 오류 바, 그들 사이되지 라인을 원하는 경우에, 그것을 r. 같은에만 포인트를 나타내는 그래프 형식을 제공 데이터 계열에서는 막대가 나란히 표시되지만 오류 막대는 다른 막대 위에 하나씩 나타날 수 있습니다.

두 개의 열이 있고 serr (내 경우에는 표준 오류) 데이터의 경우 왼쪽과 오른쪽으로 -1.4의 시프트를 사용했습니다 (아래 코드의 차이 참조). 당신은 최고 오차 막대가 표시되도록 아래 줄을 최소화하려는 경우

gap=0.14; 
X=1:length(data); 
X=[X'-gap,X'+gap]; 
errorbar(X,data,serr,'k.'); 

당신은, 제로의 세 번째 입력 인수를 SERR의 같은 크기를 지정할 수 있습니다.