Hello,
I am trying to set my axis to 'tight'. The plot has 2 Y axes using the plotyy function, and I want my second axis to be 'tight'. Whe I set it to tight, it sets both the Y and X Lims to fill in the maximum space alotted in the plot. IS there a way to only have the YLim set to tight, while holding the same default or 'auto' limits for X? I also would like it to rescale my limits in Y (it currently messes it up after the axis tight command)
Here is what I have so far, which messes up my limits in Y
subplot(6,1,6,'align'); [AX,H1,H2] = plotyy(time(1:end-1),Altitude(1:end-1),time(1:end-1),ROC,'plot');
axis(AX(2),'tight');

 Réponse acceptée

Daniel Shub
Daniel Shub le 25 Avr 2012

0 votes

You could do something like
set(AX(2), 'YLIM', [min(ROC(:)), max(ROC(:))]);

5 commentaires

douglas
douglas le 25 Avr 2012
I had thought to try something like that, it works and looks great thanks. The only other issue I would have now is that the Ylim is not necessarily displayed, sometimes it has a Ymin or a Ymax shown but not both.
Daniel Shub
Daniel Shub le 25 Avr 2012
I am not sure what you mean? I am guessing there is no tick at the max or min value. You can set the ticks, but then the numbers will not be "nice" looking. You cannot have tight limits and be guaranteed integer/small numbers.
Daniel Shub
Daniel Shub le 25 Avr 2012
If this has solved the original question, please accept it. If there is a new question, ask it as such. If this was helpful, but did not answer the question fully, then please vote for it.
douglas
douglas le 25 Avr 2012
Modifié(e) : KSSV le 9 Fév 2024
I added an if else to make the smaller values look ok and the larger ones readable, but your right, with tight limits you don't get pretty values for the y axis.
set(AX(2), 'YLIM', [min(ROC(:)), max(ROC(:))]);
if max(ROC(:))>100
set(AX(2),'YTick',min(ROC(:)):3000:max(ROC(:)));
else
set(AX(2),'YTick',min(ROC(:)):5:max(ROC(:)));
end
Daniel Shub
Daniel Shub le 25 Avr 2012
If you use min(ROC(:)):(max(ROC(:))-min(ROC(:)))/N:max(ROC(:)) you will always get N ticks (maybe N+1). If you round the min and max to a predetermined number of digits, you can also control for that...

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by