MATLAB Answers


MATLAB Autoscaling Issue for Constant Numbers

Asked by Awais Raza on 16 Sep 2018 at 17:32
Latest activity Commented on by Walter Roberson
on 19 Sep 2018 at 22:05

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.


Sign in to comment.

2 Answers

Answer by Naman Chaturvedi on 19 Sep 2018 at 6:27

You can use axis and xlim and ylim


Sign in to comment.

Answer by Awais Raza on 19 Sep 2018 at 15:05

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.