Using errorbar() with semilogy() in MATLAB?
I'd like to plot data x
& y
with errorbars, ebar
, and its fit, yfitted
, on a semilog plot. This doesn't seem to work:
figure;
hold on开发者_如何学Python;
errorbar(x,y,ebar);
semilogy(x,yfitted);
Instead of semilog plot I get a linear plot. What should I be doing differently?
try
h = errorbar(x,y,ebar);
set(get(h,'Parent'), 'YScale', 'log')
or
ax = axes();
errorbar(ax, x,y,ebar);
set(ax, 'YScale', 'log');
This is what the documentation says.
"If you attempt to add a loglog, semilogx, or semilogy plot to a linear axis mode graph with hold on, the axis mode will remain as it is and the new data will plot as linear"
I would suggest that you just reverse the order of your plotting, that is.
semilogy(x,yfitted);
hold on;
errorbar(x,y,ebar);
精彩评论