Log axis on plots of different types

1 次查看(过去 30 天)
I am trying to create a plot whereby I have 4 curves made up of a number of points connected by a spline. I have managed to create the the plot normally but want to change the y-axis scale to be logarithmic.
I have tried using scatter, hold on, semilogy etc... and also axes('yscale','log') but the first attempt just generates standard plots whereas the second one creates one large plot in the figure (I am trying to use subplots).
Any ideas?
Many thanks in advance
Jack

回答(2 个)

Mischa Kim
Mischa Kim 2014-2-6
编辑:Mischa Kim 2014-2-6
As an example of using subplots (I believe that's what you are asking for):
x = linspace(1,10,200);
y = x.^2;
figure
subplot(2,1,1)
semilogy(x,y)
subplot(2,1,2)
loglog(x,y)

Richard
Richard 2014-2-6
If you already have a set of axes with a plot in them then you need to explicitly set the y-axis on the existing axes handle:
hAxes = gca; % Or use the axes handle if you have it
set(hAxes , 'YScale', 'log');

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by