Efficiently setting lower axis limit
54 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I would like to set the lower axis limit and leave the upper limit at the auto value (rather than specifcy the upper limit myself). At the moment I do this to set the lower limit at zero:
xlim_curr = get(gca,'xlim');
xlim_curr(1) = 0;
set(gca,'xlim',xlim_curr)
Is it possible to do this with a single line of code?
Thanks
0 commentaires
Réponse acceptée
Jan
le 12 Avr 2012
One line:
set(gca, 'XLim', [0, get(gca, 'XLim') * [0; 1]])
Or without assuming that the lower limit is 0:
set(gca, 'XLim', get(gca, 'XLim') .* [0, 1] + [lowLimit, 0])
But your three lines are easier to read and faster to debug.
0 commentaires
Plus de réponses (3)
onewhaleid
le 2 Jan 2018
Modifié(e) : onewhaleid
le 2 Jan 2018
I use the xlim function. When called with no arguments, it returns the current limits:
xlim([0, max(xlim)])
0 commentaires
Matt Kindig
le 12 Avr 2012
You could do it in two lines:
xlim_curr = get(gca,'xlim');
set(gca, 'xlim', [0 xlim_curr(2)]);
I've tried to do exactly this before (fix one axis limit and allow the other to auto-scale), and could not figure out a better way.
0 commentaires
Lucademicus
le 23 Jan 2019
From the documentation of r2018b:
'Create a surface plot and show only y values greater than 0. Specify the minimum y-axis limit as 0 and let MATLAB choose the maximum limit.'
[X,Y,Z] = peaks;
surf(X,Y,Z)
ylim([0 inf])
0 commentaires
Voir également
Catégories
En savoir plus sur Geographic Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!