Semilogy doesnt make my y axis logarithmic - R2017a

8 次查看(过去 30 天)
I have been asked to plot the temperature of a substance against time. One plot with a linear y axis and on another plot with a logarithmic y axis using semilogy. I do this and the graphs it plots don't appear to have a logarithmic axis.
code
%
end
  1 个评论
the cyclist
the cyclist 2018-1-5
OP deleted their code for some reason. Replicating it here:
s=[0,620,2266,3482]; %Creates an array of the times under 's'
c=[62,56,40,32]; %Creates an array of the temperatures under 'c'
figure()
subplot(1,2,1)
plot(s,c,'bo-') %Plots the first graph with a linear y axis
title('Plot using rectilinear scales')
xlabel('Time (seconds)')
ylabel('Temp (degrees celcius)')
grid
subplot(1,2,2)
semilogy(s,c,'ro-') %Plots the second graph on a logarithmic y axis
title('Plot using semilogy scales')
xlabel('Time (seconds)')
ylabel('Temp (degrees celcius)')
grid

请先登录,再进行评论。

回答(2 个)

the cyclist
the cyclist 2018-1-4

It's subtle over such a small range of values, but that is actually a logarithmic axis. Notice that the spacing between the grid lines is a bit smaller at the top than at the bottom.

You can see the effect more clearly if you adjust the limits of the y-axis to be the same as in the linear-scale plot, using

ylim([30 65])

I've attached the result.


Star Strider
Star Strider 2018-1-4
It is, actually. (I checked it by doing a linear plot of ‘log(c)’.) The y-axis range is so small that it’s difficult to see. However if you look at the linear distance between the ticks between 35 and 40, and compare them with the distance between 55 and 60, you will see the difference. The y-axis is definitely logarithmic.

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by