How to save a figure that is larger then the screen?

36 views (last 30 days)
Hello,
i'm trying to save a 53x53 cm sized figure to an .eps-file. This results in a file containing only the on screen visible part of the figure. I'm using the Save As Option of the figure's menubar.
Example-Code:
plot(1:50,1:50);
set(gca, 'units', 'centimeters');
set(gca, 'position', [3 3 53 53]);
Thx, Peter

Accepted Answer

Daniel Shub
Daniel Shub on 3 May 2012
You cannot make figures larger than the screen size and if an axis does not fit in a figure, it gets truncated.
One possibility is to reduce the ScreenPixelsPerInch root property
set(0, 'ScreenPixelsPerInch', x)
where x is chosen so that MATLAB will think your monitor has both a width and height greater than or equal to 53 cm. You probably want to add some padding also for task and menu bars.
I have no idea how this will affect the output.
  2 Comments
Peter
Peter on 3 May 2012
Didn't work fully.
I used x=40.
It helped me to fit the too large axes on the screen.
But if this are the sections of the figure:
[1] [2]
[3] [4]
The resulting .eps-file contained only:
[2]
[4]
But i could save it as a .fig-file that contained all the data.
Then i used export_fig.m from file-exchange, to export it as an .eps-file. And that did work. So my problem is solved.
Big thx
Tim Keiper
Tim Keiper on 22 Apr 2020
This no longer works in Matlab 2019 - ScreenPixelsPerInch set to read only. is there a new solution using export_fig.m?

Sign in to comment.

More Answers (3)

Demis John
Demis John on 27 Nov 2013
Edited: Demis John on 27 Nov 2013
I Agree - see Jim's link above (skip the 2 spam posts & see Romesh's explanation) - enables one to save a figure of arbitrarily large size, regardless of size on screen.
You essentially use
set(gcf, 'PaperPosition', [0 0 20 20]) % can be bigger than screen
set(gcf, 'PaperSize', [20 20]) % Same, but for PDF output
& the print command:
print(gcf, 'MyFigure.png', '-dpng', '-r300' ); %save file as PNG w/ 300dpi
print(gcf, 'MyFigure.pdf', '-dpdf', '-r300' ); %save file as PDF w/ 300dpi
Units are inches by default; can change 'Units' property if desired.
  1 Comment
Daniel Shub
Daniel Shub on 27 Nov 2013
I don't see how this works. If I want an axis that is exactly 53 cm x 53 cm what commands do I need to run?

Sign in to comment.


Jim
Jim on 28 Oct 2013
The answer is very elegant and uses the paper property size to print a figure of any size you want. Very helpful.

Adam Danz
Adam Danz on 8 Dec 2025 at 14:50
Starting in R2025a, exportgraphics has options to specify the size of the exported figure. These features are exported in detail in the Graphics and App Building blog: https://blogs.mathworks.com/graphics-and-apps/2025/12/08/advanced-control-of-size-and-layout-of-exported-graphics/

Community Treasure Hunt

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

Start Hunting!