More reliable implementation of the option "expand axes to fill figure"
Updated 15 Oct 2022

More reliable implementation of the option "expand axes to fill figure" in the Export Setup... settings.
Works with multiple subplots and usually does not distort objects such as colorbars. This function attempts to automatically remove white space in figures by expanding the axes objects to fill the figure. The available option in the "export setup" figure menu sometimes distorts the axes and often does not work at all if there is more than one axes or a colorbar. The common fix is to manually change the position of each axes, which can be a tedious process. This function attempts to automate the process while keeping the syntax as simple as possible. It automatically removes the white space of most figures with multiple subplots, superimpozed axes objects and colorbars without distorting the axes. The zip file contains the function and a script with examples of use.
Syntax: expandaxes(h)
expandaxes(h, fHor, fVer) - For manual adjustment of the distance between subplots
Input arguments:
- h: Figure handle
- fHor: Factor for the distance between subplots in horizontal direction (Default: 1)
- fVer: Factor for the distance between subplots in vertical direction (Default: 1)

a) General rule of thumb for the order of execution when calling expandaxes:
1) Set objects, FontSizes, etc.
2) Call expandaxes
3) Other manipulations of axes and colorbar positions
b) By setting h.SizeChangedFcn = 'expandaxes(gcf, fHor, fVer);'; this function can be called with exery resize of the figure h.

Cite As

Marc Jakobi (2024). expandaxes (https://github.com/mrcjkb/expandaxes), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2016b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: export_fig

Community Treasure Hunt

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

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes

Bugfix for subplots only with 1 row or column.

Fix bug causing expandaxes to fail if the number of horizontal and vertical subplots are not the same.

Fixed bug with superimposed axes objects (e. g. plotyy) not being recognized.

Re-added description, which got lost during transition to GitHub

added thumbnail

- Fixed bug in getColorbarProperties subfunction (as noted by Roland).
- Replaced eval with dynamic field access

Fixed issues with docked figures by undocking them and restoring the WindowStyle at the end.

Reduced width and height expansion by a little bit to ensure that the box does not get cut off if the YTickLabel or XTickLabel does not reach to the edge of the axes.

subfunction still had MIT license. Removed it so that it is in compliance with the BSD license of expandaxes

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.