Log axis on plots of different types

2 views (last 30 days)
jnaumann
jnaumann on 6 Feb 2014
Answered: Richard on 6 Feb 2014
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

Answers (2)

Mischa Kim
Mischa Kim on 6 Feb 2014
Edited: Mischa Kim on 6 Feb 2014
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 on 6 Feb 2014
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');

Tags

Community Treasure Hunt

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

Start Hunting!