.fig file places saved figure in a different position than that originally specified

36 ビュー (過去 30 日間)
I create a figure and set it's position using set(gcf,'position'...), and then use savefig to save the figure in a file. When I then double-click on the .fig file, it comes up in a position different than the one originally specified. Is there a way to keep the figure position intact in the saved .fig file?
  7 件のコメント
Clay Fulcher
Clay Fulcher 2025 年 12 月 5 日 20:27
Benjamin, I am using release 2025b.
Clay Fulcher
Clay Fulcher 2025 年 12 月 5 日 20:28
Walter, yes I am using a 2nd monitor. It creates the figure with the original coordinates on monitor 1, and then reproduces the figure in the new position on Monitor 2.

サインインしてコメントする。

採用された回答

Benjamin Kraus
Benjamin Kraus 2025 年 12 月 5 日 19:50
Some questions:
  • What release of MATLAB are you using?
  • Do you see the same issue if you set the figure position to something much smaller?
  • What is the output from get(groot,'MonitorPositions')
What I suspect may be happening is that MATLAB is trying to make sure your figure is not clipped by the edge of the screen, so it is shifting your figure to avoid hitting the edges of the screen.
Based on the position you specified, it seems like you may be trying to make the figure maximized. Can you use WindowState instead?
f = figure;
f.WindowState = "maximized";
  1 件のコメント
Clay Fulcher
Clay Fulcher 2025 年 12 月 5 日 20:46
Benjamin,
You were correct. Thank you, using "maximized" fixed the issue.
Release 2025b.
The issue did not occur when I made the figures smaller.
The output from get(groot,'MonitorPositions') is
>> get(groot,'MonitorPositions')
ans =
1 1 2560 1440
2561 1 2560 1440

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangePrinting and Saving についてさらに検索

製品


リリース

R2025b

Community Treasure Hunt

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

Start Hunting!

Translated by