Как сделать планки погрешностей с перпендикулярными концами линий в октаве

У меня есть вопрос о полосе ошибок в октаве. Я пытаюсь построить результаты своих измерений на графике с помощью:

панель ошибок (m, my, ex, '> d')

Он показывает почти то, что я хочу, за исключением одного, но, пожалуйста, для почти описания на картинке в приложении введите здесь описание изображения

Я хотел бы иметь планки погрешностей с перпендикулярными линиями на концах строк, как на этом рисунке: https://www.math.ubc.ca/~israel/advisor/advisor5/images/h4r3.gif

Может кто-нибудь подсказать?

Спасибо!


person Perilun    schedule 30.07.2016    source источник


Ответы (1)


Если я наберу это в октаве:

x = 1:10;
y = x.^2;
mx = (x/1.5).^-1;
errorbar (x,y,mx,'>d')
axis([-1,10,0,100]);

Я получаю это: введите здесь описание изображения
Точно так же, как изображение, которое вы хотели. Я не понимаю угловые скобки, как вы.

EDIT: Если вы просите более высокие бары, вы можете сделать это с помощью следующего «хака»:

c = get(gca,'children'); c = get(c,'children')(2);
ydata = get(c,'ydata');
ydata(4:9:end) = ydata(4:9:end) - 5;  % '5' is the value to raise by
ydata(5:9:end) = ydata(5:9:end) + 5;
ydata(7:9:end) = ydata(7:9:end) - 5;
ydata(8:9:end) = ydata(8:9:end) + 5;
set(c,'ydata',ydata)

введите здесь описание изображения

person Tasos Papastylianou    schedule 30.07.2016
comment
примечание: я использовал get(gca,'children'), потому что это был единственный график в моем рабочем пространстве. Безопаснее собрать дескриптор вашего графика ошибок в переменную и использовать ее вместо этого, то есть h = errorbar(<bla bla>), затем c = get(h,'children') - person Tasos Papastylianou; 30.07.2016
comment
Прежде всего, спасибо за ваш ответ! Я попробовал только ваш первый код и получил тот же результат. Я не понимаю, почему он не подходит к моему коду ‹br/› a - person Perilun; 31.07.2016
comment
Я хотел бы опубликовать свой код, но я не могу сделать его блоком кода. - person Perilun; 31.07.2016
comment
@Perilun обновите свой вопрос. Чтобы вставить блок кода, просто добавьте 4 пробела перед каждой строкой и убедитесь, что сверху и снизу блока кода есть пустое пространство, отделяющее его от окружающего текста. - person Tasos Papastylianou; 31.07.2016