Y limits affect axis position?

This has been driving me crazy. Generate two axes with the same y positioning, one half the width.
a1=axes;
a2=axes;
a1pos = get(a1,'Position');
set(a2,'Position',[a1pos(1)+a1pos(3)/2,a1pos(2),a1pos(3)/2,a1pos(4)]);
Now change the limits of one of them:
ylim(a1,[2.555 4.0]);
The two axes have the exact same y-positioning, but the plots are slightly offset relative to each other in the y direction! I confirmed that all the position properties are still the same, so what's going on?

Réponses (1)

Mischa Kim
Mischa Kim le 22 Mar 2014

0 votes

Kurt, this should work:
ylim(a1,[2.555+eps 4.0]);

1 commentaire

Kurt
Kurt le 22 Mar 2014
Modifié(e) : Kurt le 22 Mar 2014
I figured out that small changes in the limits can change this behavior, but what's actually going on? Why would an infinitesimal change in the limits do this? I don't want to have to keep screwing around with them to fix this in the future.

Connectez-vous pour commenter.

Tags

Question posée :

le 22 Mar 2014

Modifié(e) :

le 22 Mar 2014

Community Treasure Hunt

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

Start Hunting!

Translated by