figure ウィンドウをセカンダリのモニタに表示する方法
조회 수: 44 (최근 30일)
이전 댓글 표시
パソコンに2枚のモニタを接続して作業してます。figure 関数でウィンドウを表示するとプライマリのモニタにウィンドウが表示されます。セカンダリのモニタに figure のウィンドウを表示する方法をご存じの方いましたら、ご教示下さい。
댓글 수: 0
채택된 답변
Shunichi Kusano
2021년 3월 8일
figureの位置とサイズはPositionプロパティで制御できるので、一度figureでウィンドウを出した後、好きな場所に持ってくるのが良いと思います。
私の場合、プライマリウィンドウの上にセカンダリウィンドウを設定しているので、下記figPosのようにy座標にプライマリウィンドウのy方向の画素数を上乗せして設定すると、セカンダリウィンドウの真ん中にウィンドウが出るようになります。
いちいちこれを全部入力するのは煩雑ですので、適当な名前で関数化してパスを通しておくと使いやすくなると思います。
% デフォルトとするfigureのサイズ
w = 500;
h = 500;
% ディスプレイサイズの取得
r = groot;
dispSize1 = r.MonitorPositions(1,3:4); % プライマリ
dispSize2 = r.MonitorPositions(2,3:4); % セカンダリ
% figureのポジションの定義
% [左下座標X 左下座標Y 幅 高さ]の順
% 原点はプライマリウィンドウの左下隅
figPos = [dispSize2(1)/2 - w/2, ...
dispSize1(2) + dispSize2(2)/2 - h/2, ...
w, h];
% ウィンドウを生成してPositionプロパティを変える
fig = figure;
fig.Position = figPos;
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 グラフィックス オブジェクトのプロパティ에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!