Figureウィンドウのサイズ変更

表示スクリーンに応じた最大サイズの取得

subplotを使うとき,縦長や横長のグラフを作成するときなどに.
使用しているディスプレイによって表示可能なサイズが変わるので,まずは最大サイズを取得する.

scrsz = get(groot,'ScreenSize');
maxW = scrsz(3);
maxH = scrsz(4);

grootはrootのグラフィックスオブジェクト.何かを格納する変数ではないので注意.

ウィンドウのサイズ変更

あとはこの表示可能な最大サイズを上回らないように,適当に係数でもつけて幅と高さを変える.
デフォルトの大きさに対する幅の倍率をnw,高さの倍率をnhとすれば,

figure;
p = get(gcf,'Position');
dw = p(3)-min(nw*p(3),maxW);
dh = p(4)-min(nh*p(4),maxH);
set(gcf,'Position',[p(1)+dw/2  p(2)+dh  min(nw*p(3),maxW)  min(nh*p(4),maxH)])

で設定できる.
FigureのPositionには,[left bottom width height]が入る.
3番目と4番目のwidthとheightだけを変えるとウィンドウが見えなくなるので,サイズの変更に応じて表示基準点も変える方がベター.
eps形式でfigureを保存するときは,PaperPositionも設定しないとおかしくなる?みたい.


Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2017-07-19 (Wed) 07:28:46 (93d)