Efficiently setting lower axis limit
27 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Omar Mian
am 12 Apr. 2012
Beantwortet: Lucademicus
am 23 Jan. 2019
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 Kommentare
Akzeptierte Antwort
Jan
am 12 Apr. 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 Kommentare
Weitere Antworten (3)
onewhaleid
am 2 Jan. 2018
Bearbeitet: onewhaleid
am 2 Jan. 2018
I use the xlim function. When called with no arguments, it returns the current limits:
xlim([0, max(xlim)])
0 Kommentare
Matt Kindig
am 12 Apr. 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 Kommentare
Lucademicus
am 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 Kommentare
Siehe auch
Kategorien
Mehr zu Graphics Object Properties finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!