How to reduce a figure size within the plotting area and adjuste it to be centralized?

11 views (last 30 days)
I want to to adjust the plotting area of this figure,
so, when I save the figure it will have it with a reduced white area arounding it.
I have tried the following
f1 = figure(1);
FigSize12 = get(f1,'position');
% f1.Units = 'pixels';
f1.Position = [600 400 FigSize12(3) FigSize12(4)/2.75];
And I get:
But, doing that I am not able to reduce the width and my figure is not centralized within the plotting area. As I need to do this procedure for many figures I need also to be able to control the length and the width using the figure properties.
  4 Comments
AXL
AXL on 27 Jul 2019
set(gca,'LooseInset', max(get(gca,'TightInset'), 0.05))
I got centered figures, but sometimes that's not you want!

Sign in to comment.

Accepted Answer

Jyothis Gireesh
Jyothis Gireesh on 2 Aug 2019
To reduce the figure size and to centralize it, you may make use of the manual option of the PaperPosition property of the figure. This allows us to change the position and dimensions of the printed figure.
The following code snippet illustrates the usage.
set(gcf, 'PaperPositionMode', 'manual');
set(gcf, 'PaperUnits', 'inches');
set(gcf, 'PaperPosition', [2 1 4 2]);
It sets the figure size to a width of 4 inches and height of 2 inches, with the origin of the figure positioned 2 inches from the left edge and 1 inch from the bottom edge.
You may also use the following link to get a detailed explanation about the PaperPosition property.
  1 Comment
Walter Roberson
Walter Roberson on 2 Aug 2019
When you set the PaperPosition property yourself then matlab automatically sets PaperPositionMode to manual

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by