Set same axis limits to all currently open plots.

SAMEAXES unifies/synchronizes axis limits on different axes and subplots.
647 Downloads
Aktualisiert 21. Mai 2014

Lizenz anzeigen

SAMEAXES unifies/synchronizes axis limits on different axes and subplots.
Calling sameaxes() sets identical limits [the pooled min() and max()] to
each axis respectively - which is very handy to compare different plots!
It is possible to restrict the effect to a specific figure and/or axis:
Use XYZC to select which axis to unify (e.g. only the y- or color-axis),
and HNDS to restrict the operations to e.g. only the current figure.
Note that it doesn't link any axes as done by linkaxes().
You may exclude a figure or axis by setting 'HandleVisibility' to 'off'.
Many examples below.
INPUT
XYZC - which axis to sync (cell or char array) [default 'xyzc' ==> all]
HNDS - figure handle(s) to search for children [default 0 ==> all axes]

OUTPUT
none; re-sets the [xyzc]lim-properties of HNDS objects' children axes

EXAMPLES
sameaxes() without arguments unifies ALL existing axes (x, y, z, color)
sameaxes('y') applies to the ylim of ALL existing axes (across figures)
sameaxes('xc', gcf()) unifies only the x-axis- and color-limits of all
subplots that are children of the current figure
sameaxes([], [fg1,fg2]) separately unifies children of figures fg1, fg2

In case you want to exclude certain figures or axes from being
affected, you can set their handles' visibilities to 'off' beforehand.
Here an example with 5 figures, excluding the first and the fifth:
for ii = 1:5
figure(), plot(ii*rand(10)), title(sprintf('plot %d', ii))
end
figures = flipud(findobj('Type','figure')); % get figure handles
exclude = figures([1 5]); % select 1,5 for exclusion
set(exclude, 'HandleVisibility', 'off') % set handles "invisible"
sameaxes() % sync all visible handles
set(exclude, 'HandleVisibility', 'on') % restore to default

See also PBASPECT, DASPECT, LINKAXES, XLIM, YLIM, ZLIM.

Zitieren als

Johannes Keyser (2024). Set same axis limits to all currently open plots. (https://www.mathworks.com/matlabcentral/fileexchange/45219-set-same-axis-limits-to-all-currently-open-plots), MATLAB Central File Exchange. Abgerufen .

Kompatibilität der MATLAB-Version
Erstellt mit R2010a
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux
Kategorien
Mehr zu Axes Appearance finden Sie in Help Center und MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Veröffentlicht Versionshinweise
1.2.0.0

1) Fixed assertion-check for valid input handles.

2) Added an example to exclude figure or axis handles from being affected by setting their 'Handlevisibility' to 'off'.

1.1.0.0

Added another example and clarified some sentences in the description.