Как отделить цветную панель ошибок от Matlab

Учитывая следующий пример кода:

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

figure
errorbar(x,y,e)

Как вы можете покрасить линию в отличие от горизонтальных линий?

Я старался

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

Но это меняет их всех вместе...

2 ответа

Решение

Получить ручку к errorbar объект. У него есть два дочерних элемента, соответствующих графику данных и столбцам ошибок соответственно. Тогда вы можете установить цвет каждого отдельно.

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

В 2014b объект ошибки не имеет дочерних элементов. Один (безобразный) способ обойти это - снова нарисовать функцию другим цветом. Фактически это отображает функцию с новым цветом поверх функции со старым цветом.

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
Другие вопросы по тегам