MATLAB Answers

How do I make a figure full screen programmatically in MATLAB?

5.965 views (last 30 days)
I would like to make my figure "full screen" without using the mouse to maximize the figure window.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 18 Oct 2013
To make a figure the same size as your screen in MATLAB execute the following command:
figure('units','normalized','outerposition',[0 0 1 1])
Please also see the related solution below for a method of programmatically maximizing, minimizing, and restoring a figure window.

  3 Comments

Ben
Ben on 24 Mar 2015
How do I name that figure some number like I do when I write "figure(2)", "figure(3)", etc.? When I use this command, it just makes this figure the next number in line.

Sign in to comment.

More Answers (7)

Antonio Javier Barragán Piña
set(gcf, 'Position', get(0, 'Screensize'));

  5 Comments

Show 2 older comments
Chuck
Chuck on 18 Oct 2017
This one is actually way better than the one verified above. Great job, thanks!
Walter Roberson
Walter Roberson on 16 Jan 2020
You would put it in the code at the point at which you want to force the figure to full screen.
If you want to do it for a GUIDE GUI then you can put it in the *OpenFcn callback code.

Sign in to comment.


Bogdan Dzyubak
Bogdan Dzyubak on 16 Aug 2016
Edited: Bogdan Dzyubak on 16 Aug 2016
The proposed methods are simple but make the figure "nearly" full screen which can cause you to close the maximized Matlab session instead of the figure.
For actual maximize you can use the following:
figure;
pause(0.00001);
frame_h = get(handle(gcf),'JavaFrame');
set(frame_h,'Maximized',1);

  6 Comments

Show 3 older comments
Steven Lord
Steven Lord on 20 Nov 2019
Rik, if you don't need to support releases earlier than release R2007a in your code you can check using verLessThan instead of using a try / catch block.
Rik
Rik on 20 Nov 2019
@Steven, that's a good suggestion.
Meanwhile me and other loonies that want compatibility with ML6.5 and GNU Octave need to use spaghetti code like this.
reza malekabadi
reza malekabadi on 19 Dec 2019
it's a good way for gui...just copy this code in OutputFcn of your gui
#maximize gui

Sign in to comment.


Dominik Mattioli
Dominik Mattioli on 20 Jun 2019
Edited: Dominik Mattioli on 20 Jun 2019
If you want to account for the taskbar (I found this in the comments of some other question):
fh = figure();
fh.WindowState = 'maximized';

  6 Comments

Show 3 older comments
PRABHAKARAN PERIYA SWAMY
PRABHAKARAN PERIYA SWAMY on 16 Jan 2020
Thank u for the solution. This works perfectly fine for a normal script with small number of figures.
But when I place the same command inside a 'for' loop it doesn't work because of issue with the naming. Can u help me out with that issue?
Dominik Mattioli
Dominik Mattioli on 16 Jan 2020
Not sure what you mean without seeing any code. As long as you’re not reassigning the variable for the specific figure’s handle (fh) in your for loop, this solution should always work.
Steven Lord
Steven Lord on 16 Jan 2020
If you're creating many figure objects in a loop and want them all to be maximized, you could set that property at creation.
fh = figure('WindowState', 'maximized')
Most if not all settable properties of Handle Graphics objects can be set this way, though sometimes (mainly for properties that interact like Units and Position) you may need to be careful about your input argument ordering.

Sign in to comment.


Steven Lord
Steven Lord on 26 Apr 2018
It is possible to do this as of release R2018a using the WindowState property of a figure object.

  0 Comments

Sign in to comment.


Jan
Jan on 26 Feb 2018
Under Windows you can use the API of the OS, see https://www.mathworks.com/matlabcentral/fileexchange/31437-windowapi :
FigH = figure;
WindowAPI(FigH, 'full'); % fill the current monitor
WindowAPI(FigH, 'work'); % fill the current monitor without taskbar, if there is one
No window border anymore, just the inner position.

  0 Comments

Sign in to comment.


WCJHunter
WCJHunter on 27 Jan 2019
As steven lord above said:
set(gcf,'WindowState','fullscreen')

  0 Comments

Sign in to comment.


Martin Leo
Martin Leo on 21 Mar 2019
Edited: Martin Leo on 21 Mar 2019
To open a fullscreen figure window in MATLAB, use the "Position" option of the figure command. There are two way:
  1. Get the screen size and give it to figure:
s = get(0, 'ScreenSize');
figure('Position', [0 0 s(3) s(4)]);
2. Without bothering to get the screen size, use normalized units:
figure('Units','normalized','Position',[0 0 1 1])

  1 Comment

Walter Roberson
Walter Roberson on 21 Mar 2019
This will give you "full screen except for the title bar or dock or bottom bar". You need other techniques for true full screen.

Sign in to comment.

Sign in to answer this question.


Translated by