MATLAB Autoscaling Issue for Constant Numbers

3 次查看(过去 30 天)
I have an array of very small constant numbers (0.0025). When I plot it, the autoscaled y-axis is [-1 1.5]. This 'zoomed out' scale makes the plotted line seem to be zero. I have used axis('tight') as well but it doesn't zoom in enough either.
t=[0:5]'; y=0*t + 0.0025; figure; plot(t,y);
If this is intended autoscaling behavior, it seems to be a poor design. Is there a way to change this behavior without defining my custom axis for every plot?
Note that if my data isn't constant, i.e. t=[0:5]'; y=0*t + 0.0025; y(3) = y(3) + eps; figure; plot(t,y);
The autoscaling is acceptable.

回答(2 个)

Naman Chaturvedi
Naman Chaturvedi 2018-9-19
You can use axis and xlim and ylim

Awais Raza
Awais Raza 2018-9-19
Yes, I understand that I can use custom axis for every plot.
Is there a reason autoscaling for a constant line is not as smart as it is for a non-constant line? For instance, the only difference between the two plots in my post is that of a single point being a tiny bit different. Yet, the autoscale on figure 1 is very non-intuitive and that for figure 2 is exactly what I would need.
Thank you for your help.

类别

Help CenterFile Exchange 中查找有关 Graphics Objects 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by