| 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の位置の設定 | ![]() |