How to permanently fix the position of the plot window ?
61 views (last 30 days)
Show older comments
I wonder if it's possible to set the parameters of display to see the plot window always in the same position. Because I have two displays and I would like to fix the position on my second screen. In addition, when I use only one screen, the plot window exceeds the screen and I don't have access anymore to the window control bar.
Can anyone help me ? Thanks
0 Comments
Accepted Answer
Alexander
on 28 Aug 2023
Edited: Alexander
on 28 Aug 2023
I think you need this:
set (groot, 'DefaultFigurePosition', p);
You have to put this line in the startup.m.
To get p: Open a figure and move it to the position you want it when plotting. Get the position:
p=(figure(1),''Position');
Hardcopy the content of p in the command above.
In my startup.m are the lines:
p = [-916 571 560 420];
set (groot, 'DefaultFigurePosition', p);
5 Comments
More Answers (1)
Daniele Sportillo
on 28 Aug 2023
Hi Alice,
the command
groot().MonitorPositions
gives you informations about your screens. Check this: Graphics environment and state information
ans =
1.0e+03 *
-1.9190 0.3557 1.9200 1.0800
0.0010 0.0010 2.5600 1.4400
In my case, I have the principal screen on the right (2nd line) and the secondary screen on the left (1st line).
So if I want to plot on my left screen I do:
fig=figure;
fig.Position = [-1000 500 500 350]; %note the minus sign
ax=axes(fig);
plot(ax,1:5);
To be sure that your plot will be "visible", no matter how many screens you are using, you could clamp the position of your figure into your screens range, like this:
fig.Position = [max(-3000, min(groot().MonitorPositions(:,1))) 500 500 350];
In alternative, you could just use an if-else condition according to the number of your screens:
if size(groot().MonitorPositions,1) == 1 % I am using only one monitor
% fig.Position = ...
else
% fig.Position = ...
end
Hope this helps!
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!