exportgraphics: adding a margin

200 views (last 30 days)
dormant on 21 Jun 2021
Commented: Bill Tubbs on 23 Mar 2023 at 19:06
Is it possible to add a margin to figures saved using the exportgraphics function?
It crops a tad too tightly for my needs.

Answers (2)

Paul Wintz
Paul Wintz on 15 Sep 2021
Edited: Paul Wintz on 18 Nov 2021
You can force exportgraphics to export the entire figure by drawing an white rectange around it with the command
annotation('rectangle',[0 0 1 1],'Color','w');
To adjust the margins, change the dimensions [0 0 1 1].
As noted by @David Walwark in the comments, the plot will not be interactive while it is annotated. To restore interactivity, delete the annotation after calling exportgraphics.
a = annotation('rectangle',[0 0 1 1],'Color','w');
% -> Save figure here <-
Bill Tubbs
Bill Tubbs on 23 Mar 2023 at 17:00
Edited: Bill Tubbs on 23 Mar 2023 at 17:01
This didn't work for me. Presumably when doing 2 subplots you need to apply this annotation to each subplot?
I tried adjusting the margins to [-0.05 -0.05 1.05 1.05] and it raises:
Error using annotation (line 116)
Position values must be between 0 and 1.

Sign in to comment.

Kiran Felix Robert
Kiran Felix Robert on 24 Jun 2021
Hi Dormant,
If you are trying to export multiple sub-images/plots onto a single figure, you can explore the tiledlayout to introduce spacing using the 'TileSpacing' Name-Value pair.
Bill Tubbs
Bill Tubbs on 23 Mar 2023 at 19:06
This worked for me. When I did my 2-plot figure using tiledlayout instead of subplots the outer margin was significantly wider.

Sign in to comment.


Find more on Printing and Saving in Help Center and File Exchange





Community Treasure Hunt

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

Start Hunting!

Translated by