Использование errorbar () с semilogy () в MATLAB? - PullRequest
6 голосов
/ 23 августа 2010

Я хотел бы вывести данные x & y с панелями ошибок ebar и их подгонкой yfitted на полулогарифмическом графике. Это не похоже на работу:

figure;
hold on;
errorbar(x,y,ebar);
semilogy(x,yfitted);

Вместо полулогового графика я получаю линейный график. Что я должен делать по-другому?

Ответы [ 2 ]

8 голосов
/ 23 августа 2010

попробуй

h = errorbar(x,y,ebar);
set(get(h,'Parent'), 'YScale', 'log')

или

ax = axes();
errorbar(ax, x,y,ebar);
set(ax, 'YScale', 'log');
3 голосов
/ 23 августа 2010

Это то, что говорится в документации.

"Если вы попытаетесь добавить график журнала, полулогкса или полулогии к графику режима линейной оси с удержанием в нажатом состоянии, режим оси останется без изменений, а новые данные будут отображаться как линейные"

Я бы посоветовал вам просто изменить порядок печати, то есть.

semilogy(x,yfitted);
hold on;
errorbar(x,y,ebar);
...