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
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
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.
0 个评论
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.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!