MATLAB Autoscaling Issue for Constant Numbers

2 views (last 30 days)
Awais Raza
Awais Raza on 16 Sep 2018
Commented: Walter Roberson on 19 Sep 2018
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.

Answers (2)

Naman Chaturvedi
Naman Chaturvedi on 19 Sep 2018
You can use axis and xlim and ylim

Awais Raza
Awais Raza on 19 Sep 2018
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.

Community Treasure Hunt

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

Start Hunting!