MATLAB Answers

1

MATLAB Autoscaling Issue for Constant Numbers

Asked by Awais Raza on 16 Sep 2018
Latest activity Commented on by 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.

  0 Comments

Sign in to comment.

2 Answers

Answer by Naman Chaturvedi on 19 Sep 2018

You can use axis and xlim and ylim

  0 Comments

Sign in to comment.


Answer by 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.

  1 Comment

I agree that it appears to be a bug.

Sign in to comment.