Subplots with equal "nice" y-axes -- is there a function?

70 vues (au cours des 30 derniers jours)
Douglas Anderson
Douglas Anderson le 13 Mar 2012
Déplacé(e) : DGM le 7 Nov 2024 à 11:35
Hello,
I thought I had seen a function somewhere that would modify subplots so that each of the plots would have the same scale (i.e., ylim) and all of them fit nicely. Kind of like "auto" for the subplot with the highest amplitude applied to all of the subplots.
Is there such a function, or option for an existing function?
Thanks

Réponse acceptée

Tom
Tom le 13 Mar 2012
Once you've finished creating all the subplots (and you have the handles), you can set all of them at once by using :
set(AX_handles,'YLim',[A B])
Where AX_handles is a vector of axes handles, one for each subplot- for example:
for n=1:10
AX(n) = subplot(5,2,n)
end
A and B are your lower and upper limits. Finding the overall max will vary a bit depending on how your data is structed but it shouldn't be too hard.

Plus de réponses (3)

Jan
Jan le 13 Mar 2012
allYLim = get(AxesHandle, {'YLim'});
allYLim = cat(2, allYLim{:});
set(AxesHandle, 'YLim', [min(allYLim), max(allYLim)]);
The curly braces around 'YLim' in the get command are needed, if AxesHandle is a scalar.
  1 commentaire
Jorge MARTINEZ
Jorge MARTINEZ le 16 Sep 2016
Déplacé(e) : DGM le 7 Nov 2024 à 11:35
anyways, Jan, your solution works like a charm... as usual ;)

Connectez-vous pour commenter.


Brett Davenport
Brett Davenport le 8 Avr 2018
Modifié(e) : Brett Davenport le 8 Avr 2018
subplot(1,2,1);plot(t,x);
y1=ylim %gets current limits
subplot(1,2,2);plot(t2,x2);
ylim(y1) %sets limits to that of first subplot

Jorge MARTINEZ
Jorge MARTINEZ le 16 Sep 2016
what about "linkaxes" function?
  2 commentaires
Brett Davenport
Brett Davenport le 8 Avr 2018
Perfect
David Bennetts
David Bennetts le 7 Juin 2020
Worked perfectly for me too. I had to add it add the end of the script after all of the subplot calls.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by