Graphics | ![]() ![]() |
Figureの配置
FigureのPosition
プロパティは、Rootスクリーン上のFigureウィンドウのサイズと位置を制御します。起動時、MATLABはコンピュータスクリーンのサイズを決定し、Position
のデフォルト値を定義します。このデフォルトはスクリーンサイズのおよそ4分の1の大きさのFigureを作成し、スクリーンの左から右方向で中央の上半分に配置します。
位置ベクトル
MATLABはFigureのPosition
プロパティをベクトルとして定義します。
[left bottom width height]
left
とbottom
は、スクリーンの左下隅からウィンドウの左下隅までの横方向と縦方向のピクセル数で位置を定義します。width
とheight
はウィンドウ内部のサイズを定義します(すなわち、ウィンドウの境界は除きます)。
MATLABは、Figureを配置する際にウィンドウの境界を測定しません。Position
プロパティは、Figureウィンドウ内部のアクティブな領域のみを定義します。
Figureはコンピュータのウィンドウシステムの制御下にあるウィンドウなので、他のウィンドウと同様にFigureを移動したり、サイズを変更したりすることが可能です。MATLABはPosition
プロパティを自動的に新しい値に更新します。
Units
FigureのUnits
プロパティは、スクリーン上の位置を設定するために使用する値の単位を決定します。Units
プロパティの取り得る値は、つぎのとおりです。
set(gcf,'Units') [ inches | centimeters | normalized | points | {pixels} | characters]
この場合、pixels
がデフォルトです。これらの選択によってFigureのサイズと位置は、ウィンドウを常に特定のサイズにしたい場合には絶対的な単位(インチなど)で設定することができ、そうでない場合にはスクリーンのサイズに対する相対的な単位(ピクセルなど)で設定することができます。
スクリーン範囲の決定
どの単位を使用する場合でも、その単位におけるスクリーンの範囲を知ることは重要です。この情報はRootのScreenSize
プロパティから得ることができます。たとえば、つぎのとおりです。
get(0,'ScreenSize') ans = 1 1 1152 900
この場合、スクリーンは1152×900ピクセルです。MATLABは、RootのUnits
プロパティで決められた単位でScreenSize
を出力します。たとえば、
set(0,'Units','normalized')
get(0,'ScreenSize') ans = 0 0 1 1
正規化された単位でのScreenSize
により、FigureのPosition
を定義すると、スクリーンサイズの違いに関係のない設定になります。これは、異なるコンピュータシステム上で使用するM-ファイルを作成する場合に有効です。
![]() | Figure プロパティ | 例題 -- Figureの位置の設定 | ![]() |