Subplots with equal "nice" y-axes -- is there a function?
65 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Douglas Anderson
el 13 de Mzo. de 2012
Comentada: David Bennetts
el 7 de Jun. de 2020
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
0 comentarios
Respuesta aceptada
Tom
el 13 de Mzo. de 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.
0 comentarios
Más respuestas (4)
Jan
el 13 de Mzo. de 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.
0 comentarios
Brett Davenport
el 8 de Abr. de 2018
Editada: Brett Davenport
el 8 de Abr. de 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
0 comentarios
Jorge MARTINEZ
el 16 de Sept. de 2016
what about "linkaxes" function?
2 comentarios
David Bennetts
el 7 de Jun. de 2020
Worked perfectly for me too. I had to add it add the end of the script after all of the subplot calls.
Jorge MARTINEZ
el 16 de Sept. de 2016
anyways, Jan, your solution works like a charm... as usual ;)
0 comentarios
Ver también
Categorías
Más información sobre Subplots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!