2014-04-01 9 views
6

otrzymuje następujący przykładowy kod:Jak oddzielić kolor errorbar Matlab

x = 0:pi/10:pi; 
y = sin(x); 
e = std(y)*ones(size(x)); 

figure 
errorbar(x,y,e) 

Jak jesteś w stanie pokolorować linię inny w porównaniu do linii poziomych?

Próbowałem

errorbar(x,y,e,'--mo') 

zmienia to jednak wszyscy razem ...

+0

+1 dla kodu runnable –

Odpowiedz

11

uzyskać uchwyt do obiektu errorbar. Ma dwoje dzieci, odpowiednio odpowiadających wykresowi danych i słupkom błędu. Następnie możesz ustawić kolor każdego oddzielnie.

h = errorbar(x,y,e) %// a color spec here would affect both data and error bars 
hc = get(h, 'Children') 
set(hc(1),'color','b') %// data 
set(hc(2),'color','g') %// error bars 
+0

niesamowite, jest to o wiele prostsze do linespec ple ple – user1234440

2

W 2014b obiekt paska błędów nie ma dzieci anymore. Jednym (brzydkim) sposobem obejścia tego jest ponowne wykreślenie funkcji o innym kolorze. Skutecznie to kreśli funkcję z nowym kolorem na górze funkcji ze starym kolorem.

hold on; 
errorbar(x, y, e, 'r'); % // The color here will stay for the error bars 
plot(x, y, 'b');  %// Here we change the color of the original function 
+1

można ukryć lineplot w errorbar w ogóle: 'errorbar (x, y, e, 'R', '' lineStyle , "none"); ' – Dominik

Powiązane problemy