ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Figure のプロパティ

Figure ウィンドウの外観と動作の制御

Figure はグラフィックスまたはグラフィカル ユーザー インターフェイス コンポーネントを含むウィンドウです。Figure プロパティは Figure の特定のインスタンスの外観と動作を制御します。Figure の外観と動作を変えるには、プロパティ値を変更します。ドット表記を使用して、特定のオブジェクトとプロパティを参照します。

fig = figure;
u = fig.Units;
fig.Units = 'inches';

Figure の外観

すべて折りたたむ

ColorFigure ウィンドウの背景色RGB の 3 要素 | 省略名 | 完全名 | 'none'

Figure ウィンドウの背景色。RGB の 3 要素、事前定義された色の名前の文字列または 'none' として指定します。'none' を指定した場合、Figure の背景色は画面上では黒く表示されますが、印刷すると Figure ウィンドウが透明であるかのように印刷されます。

RGB の 3 要素は、色の赤、緑、青成分の強度を指定する 3 要素の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。次の表に、等価な色文字列をもつ RGB の 3 要素の値を示します。

完全名省略名RGB の 3 要素
'yellow''y'[1 1 0]
'magenta''m'[1 0 1]
'cyan''c'[0 1 1]
'red''r'[1 0 0]
'green''g'[0 1 0]
'blue''b'[0 0 1]
'white''w'[1 1 1]
'black'k'[0 0 0]

データ型: double | char

DockControls対話型の figure のドッキング'on' (既定値) | 'off'

対話型の figure のドッキング。次のいずれかとして指定されます。

  • 'on' — Figure は、MATLAB® デスクトップ内でドッキングすることができます。[デスクトップ][Figure をドックに入れる] メニュー項目およびメニュー バーの [Figure をドックに入れる] ボタン が有効になります。

  • 'off' — MATLAB は [デスクトップ][Figure をドックに入れる] メニュー項目を無効にし、[Figure をドックに入れる] ボタンを表示しません。

    WindowStyle'docked' に設定されている場合には、DockControls プロパティを 'off' に設定できません。

MenuBarFigure のメニュー バー表示'figure' (既定値) | 'none'

Figure のメニュー バー表示。'figure' または 'none' として指定します。MenuBar プロパティによって、Figure ウィンドウ上部にある既定のメニューを表示または非表示にできます。メニュー バーを表示するには 'figure' を指定します。非表示にするには 'none' を指定します。

このプロパティは既定のメニューにのみ影響し、uimenu コマンドによって定義されているメニューには影響しません。

メニュー バーは、WindowStyle プロパティが 'Modal' に設定されている Figure には表示されません。uimenu の子を含む Figure が 'Modal' に変更された場合、その uimenu の子は Figure の Children プロパティ内に存在したままになります。ただし、WindowStyle'Modal' に設定されている間、この uimenu は表示されません。

    メモ:   Figure に既定のメニューが表示されないようにするには、Figure を作成するときにこのプロパティを 'none' に設定します。

NameFigure のウィンドウ タイトル'' (既定値) | 文字列

Figure のウィンドウ タイトル。文字列として指定します。Name プロパティは、Figure ウィンドウに表示されるタイトルを指定します。既定では Figure のタイトルは Figure 1Figure 2 のように表示されます。このプロパティに文字列を設定すると、Figure のタイトルは、Figure:n string になります。Name の値のみを表示するには、IntegerHandle または NumberTitle'off' に設定します。

例: 'Results'

NumberTitleFigure ウィンドウのタイトルの番号'on' (既定値) | 'off'

Figure ウィンドウのタイトルの番号。'on' または 'off' で指定します。NumberTitle プロパティは、MATLAB がタイトル バーに文字列 Figure n を含めるかどうかを決定します。ここで n は Figure の Number プロパティの値です。

IntegerHandle'off' に設定した場合、NumberTitle プロパティの設定にかかわらず Figure ウィンドウのタイトルに数字は表示されません。

ToolBarFigure のツール バー表示'auto' (既定値) | 'figure' | 'none'

Figure のツール バー表示。次のいずれかとして指定されます。

  • 'auto'MenuBar プロパティと同じ値を使用します。

  • 'figure' — ツール バーを表示します。

  • 'none' — ツール バーを表示しません。

このプロパティは既定のツール バーにのみ影響します。[カメラ ツール バー]、[プロット編集 ツール バー] などの他のツール バーには影響しません。Figure の [表示] メニューから [Figure ツール バー] を選択すると、このプロパティが関数 'figure' に設定されます。

ツール バーは、WindowStyle プロパティが 'Modal' に設定されている Figure には表示されません。ツール バーを含む Figure が 'Modal' に変更された場合、そのツール バーの子は Figure の Children プロパティ内に存在したままになります。ただし、WindowStyle'Modal' に設定されている間、このツール バーは表示されません。

    メモ:   既定のツール バーを非表示にするには、Figure を作成するときにこのプロパティを 'none' に設定します。

VisibleFigure の可視性'on' (既定値) | 'off'

Figure の可視性。'on' または 'off' として指定します。Visible プロパティは、画面にこの figure を表示するかどうかを決定します。figure の Visible プロパティが 'off' に設定されている場合、figure 全体が非表示になりますが、その場合でもプロパティを指定したりアクセスしたりできます。

非表示の figure のサイズを変更した場合、figure が表示されるときに SizeChangedFcn コールバックがトリガーされます。

    メモ:   figure の Visible プロパティを変更しても、その子コンポーネントの Visible プロパティは "変更されません"。これは figure を非表示にすることによって子の表示が妨げられる場合でも変わりません。

Clipping子コンポーネントの figure へのクリッピング'on' (既定値) | 'off'

このプロパティは、Figure には影響しません。

座標軸とプロットの外観

すべて折りたたむ

GraphicsSmoothing座標軸グラフィックスの平滑化'on' (既定値) | 'off'

座標軸グラフィックスの平滑化。'on' または 'off' で指定します。平滑化によって座標軸グラフィックスのギザギザの線を減らします。MATLAB は GraphicsSmoothing'on' に設定され、次の条件のいずれかが真の場合に、座標軸グラフィックス (および座標軸のルーラー) に平滑化手法を適用します。

  • Renderer プロパティが 'painters' に設定されている。

  • Renderer プロパティが 'opengl' に設定され、ハードウェアのカードで OpenGL® がサポートされている。

座標軸グラフィックスのほとんどが垂直または水平のラインの場合、GraphicsSmoothing プロパティを 'on' に設定し、ラインの AlignVertexCenters プロパティを 'on' に設定することを検討してください。平滑化手法では、平滑さが向上する代わりに鮮明さがある程度損なわれます。これは、鮮明なグラフィックスの場合、特に顕著に表れます。

    メモ:   グラフィックスの平滑化はテキストには影響しません。MATLAB は、GraphicsSmoothing プロパティの値に関係なくテキストを平滑化します。

Renderer画面表示と印刷に対して使用されるレンダリング方法'opengl' (既定値) | 'painters'

画面表示と印刷に対して使用されるレンダリング方法。次の値の 1 つとして指定します。

  • 'opengl'このオプションは通常 'painters' オプションよりも速く、システムでグラフィックス ハードウェアが利用可能な場合、MATLAB がそれにアクセスできるようにします。

  • 'painters' — このオプションは、単純または小さなグラフィックス オブジェクトのみが Figure に含まれる場合に適しています。

    メモ:   'zbuffer' オプションは削除されました。代わりに 'opengl' または 'painters' を使用してください。

OpenGL レンダラーは、モニター上の表示と同様に、オブジェクトを前から後ろの順に並べ替えて表示します。線と面がモニター上の同一場所にある場合、常に線が面の前面に描画されます。Painters レンダラーは、子オブジェクトの順に (指定された順序で) 並べ替えます。

OpenGL のハードウェアとソフトウェアの実装

OpenGL のハードウェア実装は、性能向上のために専用のグラフィックス ハードウェアを使用します。そのため、ソフトウェア実装よりもかなり高速です。

OpenGL は、MATLAB を実行するすべてのコンピューター上で使用できます。MATLAB は、OpenGL のハードウェア アクセラレータ版を使用できる場合、そのハードウェアを自動的に検出します。ハードウェア アクセラレータ版を使用できない場合、MATLAB はソフトウェア実装を使用します (ソフトウェアの OpenGL をサポートしていない Macintosh システムは除きます)。また、既知のドライバーの問題をもつグラフィックス ハードウェアが使用されている場合またはバーチャル マシンが使用されている場合、MATLAB はソフトウェアの OpenGL を自動的に選択します。

以下のソフトウェア版を使用できます。

  • UNIX® システムでは、MATLAB は、配布されている MATLAB に含まれている OpenGL のソフトウェア実装を使用します。

  • Windows® では、OpenGL はオペレーティング システムの一部として使用できます。OpenGL による問題が生じた場合には、使用しているグラフィックス ドライバーのベンダーに連絡し、最新の認定バージョンの OpenGL を入手してください。

  • Macintosh システムでは、ソフトウェア版の OpenGL は使用できません。

MATLAB は、使用可能な OpenGL ライブラリを検出できない場合、警告を出力します。

ソフトウェア OpenGL の選択

ソフトウェアの OpenGL を使用するには、次の手順を実行します。

  • UNIX システムの場合、コマンド matlab softwareopengl を使用して MATLAB を起動します。

  • Windows システムの場合、MATLAB でコマンド opengl software を実行します。このコマンドによって OpenGL のソフトウェア実装と同じ動作が提供されます。

Macintosh プラットフォームではソフトウェアの OpenGL はサポートされていません。

OpenGL のライブラリ バージョンの確認

システム上で MATLAB が使用している OpenGL ライブラリのバージョンおよびベンダーを確認するには、MATLAB プロンプトに次のコマンドを入力します。

opengl info

返された情報には、MATLAB がソフトウェア版の OpenGL を使用している (Software = true) かハードウェア アクセラレータ版の OpenGL を使用している (Software = false) かを示す行が含まれています。

また、このコマンドは、MATLAB が使用している特定のライブラリで使用可能な OpenGL 仕様の拡張の文字列も返します。バグをレポートする際には、この情報を含めるようにしてください。

opengl info コマンドを発行すると、MATLAB は OpenGL を初期化する点に注意してください。

XServer 接続が失われた

Linux® または Macintosh システムを使用しているときに XServer への接続が中断された場合、MATLAB はセグメンテーション違反によってクラッシュする可能性があります。これが発生した場合は、システムに最新の XServer がインストールされていることを確認してください。

Linux システムの場合、OpenGL ドライバーのアップグレードを試した後で、次のコマンドを使用してソフトウェア版の OpenGL と共にMATLAB を起動することもできます。

 matlab softwareopengl

RendererModeレンダラーの選択'auto' (既定値) | 'manual'

レンダラーの選択。次のように指定します。

  • 'auto' — MATLAB は Figure 内のグラフィックス オブジェクトのサイズと複雑さに基づいて、印刷用と画面表示用のレンダリング手法を選択します。

  • 'manual' — MATLAB は Renderer プロパティで指定されたレンダラーを使用します。

Renderer プロパティに明示的に 'painters' または 'opengl' を設定した場合、MATLAB は RendererMode プロパティを 'manual' に設定します。

色と透明度のマッピング

すべて折りたたむ

AlphamapFigure の座標軸コンテンツに対する透過性マップ0 から 1 の 64 値の配列 (既定値) | 0 から 1 の有限アルファ値の配列

Figure の座標軸コンテンツに対する透過性マップ。0 から 1 の線形に増加する有限アルファ値の配列として指定します。配列のサイズは m 行 1 列または 1 行 m 列にできます。MATLAB は行番号でアルファ値にアクセスします。たとえば、インデックス 1 は最初のアルファ値を示し、インデックス 2 は 2 番目のアルファ値を示します。Alphamap は、任意の長さに設定できます。

Alphamap は関数 surfaceimage および patch によって作成されたオブジェクトのレンダリングに影響しますが、その他のグラフィックス オブジェクトには影響しません。

ColormapFigure の座標軸コンテンツに対するカラーマップparula (既定値) | m3 列の RGB 3 要素配列

Figure の座標軸コンテンツに対するカラーマップ。m 種類の個別の色を定義する m3 列の RGB (赤、緑、青) 3 要素配列として指定します。MATLAB は行番号でそれらの色にアクセスします。たとえば、インデックス 1 は最初の RGB の 3 要素を、インデックス 2 は 2 番目の RGB の 3 要素を指定します。

Colormap は関数 surfaceimage および patch によって作成されたオブジェクトのレンダリングに影響しますが、一般にその他のグラフィックス オブジェクトには影響しません。

カラーマップの長さは任意ですが、幅は 3 列でなければなりません。

例: [1 0 1; 0 0 1; 1 1 0]

位置とサイズ

すべて折りたたむ

PositionFigure の描画可能領域の位置とサイズ[left bottom width height]

Figure の描画可能領域の位置とサイズ。ベクトル [left bottom width height] として指定します。描画可能領域は、タイトル バー、メニュー バー、ツール バーを除いたウィンドウの内側の領域です。次の表で、Position ベクトルの各要素について説明します。

要素説明
leftプライマリ ディスプレイの左端から figure ウィンドウの内側の左端までの距離です。この値は、複数のモニターのあるシステム上では負の値になる場合もあります。
bottomプライマリ ディスプレイの下端から figure ウィンドウの内側の下端までの距離です。この値は、複数のモニターのあるシステム上では負の値になる場合もあります。
widthfigure の内側の左右の端の間の距離です。
heightfigure の内側の上下の端の間の距離です。

すべての測定値は、Units プロパティで指定した単位で表されます。

Figure がドッキングしているときには、Figure の Position プロパティは指定できません。

タイトル バー、メニュー バー、ツール バーおよび外周を含むウィンドウ全体を配置するには、OuterPosition プロパティを使用します。

    メモ:   Windows システムでは、Position プロパティの値にかかわらず、Figure ウィンドウの幅を 104 ピクセル未満にすることはできません。

例: [230 250 570 510]

データ型: double

OuterPositionFigure の外側の境界の位置とサイズ[left bottom width height]

外側の境界の位置とサイズ。ベクトル [left bottom width height] として指定します。次の表で、ベクトルの各要素について説明します。

要素説明
leftプライマリ ディスプレイの左端から figure ウィンドウの外側の左端までの距離です。この値は、複数のモニターのあるシステム上では負の値になる場合もあります。
bottomプライマリ ディスプレイの下端から figure ウィンドウの外側の下端までの距離です。この値は、複数のモニターのあるシステム上では負の値になる場合もあります。
widthfigure の外側の左右の端の間の距離です。
heightfigure の外側の上下の端の間の距離です。

すべての測定値は、Units プロパティで指定した単位で表されます。

Figure がドッキングしているときに OuterPosition プロパティを設定しようとした場合は、次の警告が表示されます。

Warning: Cannot set OuterPosition while
WindowStyle is 'docked' 

    メモ:   Microsoft® Windows システムでは、OuterPosition プロパティの値にかかわらず、Figure ウィンドウは常に 104 ピクセル以上の幅になります。

例: [230 250 570 510]

データ型: double

Units測定の単位'pixels' (既定値) | 'normalized' | 'inches' | 'centimeters' | 'points' | 'characters'

測定の単位。'pixels''normalized''inches''centimeters''points' または 'characters' として指定します。

MATLAB はこの単位を使って Position プロパティの位置とサイズの値を解釈します。

  • ピクセル単位で指定された figure のサイズは、システムのディスプレイの設定と解像度によって決まります。

  • 正規化単位は、親コンテナーの左下隅を (0,0) に、右上隅を (1.0,1.0) にマッピングします。

  • インチ、センチメートルおよびポイントは、絶対単位です。1 ポイント = 1/72 インチです。

  • 文字単位は既定のシステム フォントによって決まります。1 文字単位は文字 x の幅です。1 文字単位の高さはテキストの 2 行のベースライン間の距離です。

MATLAB ではすべての単位を親オブジェクトの左下隅から測定します。

Units プロパティの値を変更した場合、Units プロパティの設定値が既定値であることを前提としている他の関数に影響を及ぼさないように、計算終了後に元の既定値に戻すことを推奨します。

Units プロパティと Position プロパティを指定する順序は、次のように影響します。

  • Position プロパティの前に Units プロパティを指定する場合、MATLAB は指定した単位を使用して Position を設定します。

  • Position プロパティの後に Units プロパティを指定する場合、MATLAB は既定の Units を使用して位置を設定します。その後、MATLAB は Position の値を、指定した単位における同等の値に変換します。

Resizeウィンドウのサイズ変更モード'on' (既定値) | 'off'

ウィンドウのサイズ変更モード。次のように指定します。

  • 'on' — ユーザーは Figure ウィンドウのサイズを変更できます。

  • 'off' — ユーザーは Figure ウィンドウのサイズを変更できません。Figure ウィンドウにはサイズ変更コントロールは表示されません。

SizeChangedFcnウィンドウ サイズ変更のコールバック関数'' (既定値) | 関数ハンドル | セル配列 | 文字列

figure のサイズが変更されたときに実行されるコールバック関数。次の値の 1 つとして指定します。

  • 関数ハンドル

  • 最初の要素が関数ハンドルであるセル配列。セル配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式である文字列。MATLAB はベース ワークスペース内でこの式を評価します。

Position プロパティと Units プロパティによるレイアウトを超えて GUI のレイアウトをカスタマイズするときにこのコールバック関数を定義します。

SizeChangedFcn コールバックは以下の状況で実行されます。

  • figure がはじめて表示される。

  • figure が表示されているときにその描画可能領域が変更される。描画可能領域は figure の外部境界の内側の領域です。

  • 描画可能領域が変更された後にはじめて figure が表示される。この状況は、figure が非表示のときに描画可能領域が変更され、その後表示された場合に発生します。

SizeChangedFcn コールバックにはいくつかの重要な特徴と推奨されるベスト プラクティスがあります。

  • figure の SizeChangedFcn が使用する変数がすべて定義されるまで、Figure の表示を遅延させることを検討します。これにより、figure の SizeChangedFcn コールバックがエラーを返すのを防ぐことができます。Figure の表示を遅らせるには、Visible プロパティを 'off' に設定します。SizeChangedFcn コールバックが使用する変数を定義した後で、Visible プロパティを 'on' に設定します。

  • SizeChangedFcn コード内で関数 gcbo を使用してユーザーがサイズを変更した figure オブジェクトを取得します。

例:一定の高さをもつ uicontrol

このサンプル コードでは、Figure の上に一定の高さをもつ uicontrol を含む GUI レイアウトを作成する方法について説明します。この動作を表示するには、以下のコードをコピーしてエディターに貼り付け、sbar.m として保存します。

function sbar(src,callbackdata)
   u = findobj(gcbo,'Tag','StatusBar');
   fig = gcbo;
   old_units = fig.Units;
   fig.Units = 'pixels';
   sbar_units = u.Units;
   u.Units = 'pixels';
   figpos = fig.Position;
   upos = [1 figpos(4) - 20 figpos(3) 20];
   u.Position = upos;
   u.Units = sbar_units;
   fig.Units = old_units;
   u.Visible = 'on';
end

次に、以下のコードを実行します。

f = figure('Visible','off'); 
u = uicontrol('Style','edit', 'Tag','StatusBar');
f.SizeChangedFcn = @sbar;
f.Visible = 'on';

関数 sbar は uicontrol の高さを 20 ピクセルに保ち、uicontrol の幅を Figure の幅と同じに設定します。関数 findobj を使用して uicontrol オブジェクトを取得していることに注目してください。また、この関数は figure オブジェクトにアクセスするために関数 gcbo を呼び出しています。

データ型: function_handle | cell | char

ResizeFcnFigure サイズ変更のコールバック関数'' (既定値) | 関数ハンドル | セル配列 | 文字列

figure のサイズが変更されたときに実行されるコールバック関数。次の値の 1 つとして指定します。

  • 関数ハンドル

  • 最初の要素が関数ハンドルであるセル配列。セル配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式である文字列。MATLAB はベース ワークスペース内でこの式を評価します。

    メモ:   ResizeFcn プロパティの使用は推奨されていません。将来のリリースで削除される可能性があります。代わりに SizeChangedFcn を使用してください。

データ型: function_handle | cell | char

複数のプロット

すべて折りたたむ

NextPlot次のプロットの追加方法の命令'add' (既定値) | 'new' | 'replace' | 'replacechildren'

次のプロットの追加方法の命令。'add''new''replace' または 'replacechildren' として指定します。

次の表では、それぞれの値の効果について説明します。

プロパティ値効果
'new'

新規 Figure を作成し、現在の Figure として利用します。

'add'

現在の Figure をクリアしたり、リセットすることなく、新しいグラフィックス オブジェクトを追加します。

'replacechildren'

新しいオブジェクトを追加する前に、非表示になっていないすべての axes オブジェクトを削除します。Figure のプロパティをリセットしません。

clf コマンドを使用するのと同じです。

'replace'

新しいグラフィックス オブジェクトを追加する前に、すべての axes オブジェクトを削除し、Figure のプロパティを既定値にリセットします。

clf reset コマンドを使用するのと同じです。

関数 newplot を使用して NextPlot プロパティを処理することを検討してください。詳細は、座標軸の NextPlot プロパティと「グラフの Figure および座標軸の準備」を参照してください。

対話制御

すべて折りたたむ

Selectedfigure の選択状態'off' (既定値) | 'on'

    メモ:   Selected プロパティの動作は R2014b で変更されており、推奨されません。figure に対して何も効果をもたなくなりました。このパラメーターは将来のリリースで削除される可能性があります。

SelectionHighlightユーザーが選択したときに figure を強調表示する機能'on' (既定値) | 'off'

    メモ:   figure SelectionHighlight プロパティの使用は推奨されていません。このパラメーターは将来のリリースで削除される可能性があります。

このプロパティは、Figure には影響しません。

コールバック実行制御

すべて折りたたむ

BusyActionコールバック キューイング'queue' (既定値) | 'cancel'

コールバック キューイング。'queue' (既定値) または 'cancel' として指定します。BusyAction プロパティは MATLAB による割り込みコールバックの実行の処理方法を決定します。次の 2 つのコールバックの状態について考慮する必要があります。

  • "実行中" コールバックは、現在実行しているコールバックです。

  • "割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。

割り込みコールバックの割り込み元の BusyAction プロパティは、MATLAB が割り込みコールバックの実行を処理する方法を決定します。BusyAction プロパティは次の値をとります。

  • 'queue' — 割り込みコールバックをキューに入れ、実行中のコールバックが終了した後に処理されるようにします。

  • 'cancel' — 割り込みコールバックを実行しません。

MATLAB がコールバックを呼び出すたびに、そのコールバックは実行中のコールバックに割り込もうとします。コールバックを実行中のオブジェクトの Interruptible プロパティが、割り込み可能かどうかを決定します。Interruptible は次のように設定します。

  • on — MATLAB が次にキューを処理するポイントで割り込みが発生します。これは既定値です。

  • off — (実行するコールバックを所有するオブジェクトの) BusyAction プロパティによって、MATLAB が割り込みコールバックをキューに追加するか無視するかを決定します。

Interruptibleコールバックの割り込み'on' (既定値) | 'off'

コールバックの割り込み。'on' または 'off' として指定します。Interruptible プロパティは実行中のコールバックが割り込み可能かどうかを決定します。

次の 2 つのコールバックの状態について考慮する必要があります。

  • "実行中" コールバックは、現在実行しているコールバックです。

  • "割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。

MATLAB がコールバックを呼び出すたびに、そのコールバックは実行中のコールバックに割り込もうとします。実行中のコールバックを所有するオブジェクトの Interruptible プロパティが、割り込み可能かどうかを決定します。割り込みが許可されない場合は、割り込みコールバックを所有するオブジェクトの BusyAction プロパティが、そのコールバックを破棄するかキューに入れるかを決定します。

figure のコールバックが実行中のコールバックの場合、Interruptible プロパティによって、そのコールバックが別のコールバックによって割り込み可能かどうかが決まります。Interruptible プロパティは次の 2 つの値をとることができます。

  • 'on' — コールバックは実行中のコールバックに割り込むことができます。drawnowfiguregetframewaitforpause などの、MATLAB が次にキューを処理するポイントで割り込みが発生します。

    • 実行中のコールバックにこれらいずれかのコマンドが含まれている場合、MATLAB はその場所でコールバックの実行を停止し、割り込みコールバックを実行します。割り込みコールバックが完了したときに MATLAB は実行中だったコールバックの実行を再開します。

    • 実行中のコールバックにこれらのコマンドが含まれていない場合、MATLAB はそのコールバックの実行を中断せずに終了させます。

  • 'off' — コールバックは実行中のコールバックに割り込むことができません。MATLAB は割り込みさせずに実行中のコールバックを終了させます。これは既定の動作です。

    メモ:   コールバックの割り込みと実行は、以下の状況では動作が異なります。

    • 割り込みコールバックが DeleteFcnCloseRequestFcn または SizeChangedFcn コールバックの場合、Interruptible プロパティの値にかかわらず割り込みが発生します。

    • 実行中のコールバックが関数 waitfor を現在実行している場合、Interruptible プロパティの値にかかわらず割り込みが発生します。

    • MATLAB は、割り込みが発生したときにプロパティの状態や表示を保存しません。たとえば、gca コマンドや gcf コマンドから返されたハンドルは、別のコールバックを実行するときに変更されている可能性があります。

HitTest現在のオブジェクトになる能力'on' (既定値) | 'off'

現在のオブジェクトになる能力。'on' または 'off' として指定します。

  • 値を 'on' に設定した場合、ユーザーがクリックしたときに figure は現在のオブジェクトになることができます。また 'on' の値は、この Figure の CurrentObject プロパティを使用可能にし、関数 gco が現在のオブジェクトとしてこの figure を報告できるようにします。

  • 値を 'off' に設定した場合、ユーザーが figure をクリックしたときにこの figure の CurrentObject プロパティを空の配列 GraphicsPlaceholder に設定します。

キーボード制御

すべて折りたたむ

CurrentCharacterFigure 内で最後に押されたキー'' (既定値) | 1 文字の文字列

Figure 内で最後に押されたキー。1 文字の文字列として返されます。ユーザー入力を取得するために CurrentCharacter プロパティを使用します。

例: 't'

KeyPressFcnキーを押したときのコールバック関数'' (既定値) | 関数ハンドル | セル配列 | 文字列

ユーザーがキーを押したときに実行されるコールバック関数。次の値の 1 つとして指定します。

  • 関数ハンドル

  • 最初の要素が関数ハンドルであるセル配列。セル配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式である文字列。MATLAB はベース ワークスペース内でこの式を評価します。

コールバックのプロパティ値を関数ハンドル、セル配列または文字列で指定する方法についての詳細は、「コールバック プロパティ値の指定方法」を参照してください。

このコールバック関数は、figure ウィンドウにフォーカスがあり、ユーザーがキーを押したときに実行されます。このプロパティに関数を定義しない場合、MATLAB はキーの押下をコマンド ウィンドウに渡します。キーを繰り返し押すと figure のフォーカスが維持され、キーが押されるたびに関数が実行されます。ユーザーが複数のキーをほぼ同時に押した場合、MATLAB は最後に押されたキーを検出します。

このプロパティを関数ハンドル (または関数ハンドルを含むセル配列) で指定した場合、MATLAB はコールバック データを含むオブジェクトをコールバック関数の 2 番目の引数として渡します。このオブジェクトには次の表で説明するプロパティが含まれています。コールバック関数内のこれらのプロパティには、ドット表記を使用してアクセスできます。

プロパティ

内容

Character

1 つのキーまたは複数のキーを押した結果として表示される文字です。文字は空の場合や印刷できない場合があります。

Modifier

押されている 1 つ以上の修飾キー (controlaltshift など) の名前が格納されるセル配列です。Macintosh コンピューターの場合は、command 修飾キーが押されたときに、セル配列に 'command' が格納されます。

Key

押されているキーです。キーに刻印された (小文字の) ラベルまたは説明用の文字列によって識別されます。

Sourceユーザーがキーを押したときのフォーカスのあるオブジェクトです。
Eventnameコールバック関数を実行する原因となったアクションです。

修飾キーを押すと、次のようにコールバック データに影響します。

  • 修飾キーは Character プロパティに影響を与える可能性がありますが、Key プロパティを変更することはありません。

  • 一部のキーと、Ctrl で修飾されたキーは、Character プロパティに印刷不能文字を格納します。

  • CtrlAltShift および他のいくつかのキーは、Character プロパティ データを生成しません。

ユーザーがどの文字を押したかを判断するために、Figure の CurrentCharacter プロパティをクエリすることもできます。

例: @myfun

例: {@myfun,x}

KeyReleaseFcnキーを放したときのコールバック関数'' (既定値) | 関数ハンドル | セル配列 | 文字列

キーを押したときのコールバック関数。次の値のいずれかとして指定します。

  • 関数ハンドル

  • 最初の要素が関数ハンドルであるセル配列。セル配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式である文字列。MATLAB はベース ワークスペース内でこの式を評価します。

コールバックのプロパティ値を関数ハンドル、セル配列または文字列で指定する方法についての詳細は、「コールバック プロパティ値の指定方法」を参照してください。

このコールバック関数は、figure オブジェクトにフォーカスがあり、ユーザーがキーを放したときに実行されます。

このプロパティを関数ハンドル (または関数ハンドルを含むセル配列) で指定した場合、MATLAB はコールバック データを含むオブジェクトをコールバック関数の 2 番目の引数として渡します。このオブジェクトには次の表で説明するプロパティが含まれています。コールバック関数内のこれらのプロパティには、ドット表記を使用してアクセスできます。

プロパティ

説明

例:

a

=

Shift

Shift-a

Character

放されたキーの文字解釈。

'a'

'='

''

'A'

Modifier

'control' のような現在の修正子または修正子がない場合は空のセル配列

{1x0 cell}

{1x0 cell}

{'shift'}

{'shift'}

Key

離されたキーです。キーに刻印された (小文字の) ラベルまたは説明用の文字列によって識別されます。

'a'

'equal'

'shift'

'a'

Sourceユーザーがキーを押したときのフォーカスのあるオブジェクトです。figurefigurefigurefigure
Eventnameコールバック関数を実行する原因となったアクションです。'KeyRelease''KeyRelease''KeyRelease''KeyRelease'

修飾キーを押すと、次のようにコールバック データに影響します。

  • 修飾キーは Character プロパティに影響を与える可能性がありますが、Key プロパティを変更することはありません。

  • 一部のキーと、Ctrl で修飾されたキーは、Character プロパティに印刷不能文字を格納します。

  • CtrlAltShift および他のいくつかのキーは、Character プロパティ データを生成しません。

ユーザーがどの文字を押したかを判断するために、Figure の CurrentCharacter プロパティをクエリすることもできます。

例: @myfun

例: {@myfun,x}

WindowKeyPressFcnFigure ウィンドウでキーを押したときのコールバック関数'' (既定値) | 関数ハンドル | セル配列 | 文字列

Figure ウィンドウでキーを押したときのコールバック関数。次の値の 1 つとして指定します。

  • 関数ハンドル

  • 最初の要素が関数ハンドルであるセル配列。セル配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式である文字列。MATLAB はベース ワークスペース内でこの式を評価します。

コールバックのプロパティ値を関数ハンドル、セル配列または文字列で指定する方法についての詳細は、「コールバック プロパティ値の指定方法」を参照してください。

Figure ウィンドウまたは Figure ウィンドウのいずれかの子にフォーカスがあるときにキーが押されると、このコールバックが必ず実行されます。

このプロパティを関数ハンドル (または関数ハンドルを含むセル配列) で指定した場合、MATLAB はコールバック データを含むオブジェクトをコールバック関数の 2 番目の引数として渡します。このオブジェクトには次の表で説明するプロパティが含まれています。コールバック関数内のこれらのプロパティには、ドット表記を使用してアクセスできます。

プロパティ

内容

Character

キーを押した結果として表示される文字です。文字は空の場合や印刷できない場合があります。

Modifier

押されている 1 つ以上の修飾キー (controlaltshift など) の名前が格納されるセル配列です。Macintosh コンピューターの場合は、command 修飾キーを押したときに 'command' が格納されます。

Key

押されているキーです。キーに刻印された (小文字の) ラベルまたは説明用の文字列によって識別されます。

Sourceユーザーがキーを押したときのフォーカスのあるオブジェクトです。
Eventnameコールバック関数を実行する原因となったアクションです。

例: @myfun

例: {@myfun,x}

WindowKeyReleaseFcnFigure ウィンドウでキーを離したときのコールバック関数'' (既定値) | 関数ハンドル | セル配列 | 文字列

Figure ウィンドウでキーを離したときのコールバック関数。次の値の 1 つとして指定します。

  • 関数ハンドル

  • 最初の要素が関数ハンドルであるセル配列。セル配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式である文字列。MATLAB はベース ワークスペース内でこの式を評価します。

コールバックのプロパティ値を関数ハンドル、セル配列または文字列で指定する方法についての詳細は、「コールバック プロパティ値の指定方法」を参照してください。

Figure ウィンドウまたは Figure ウィンドウのいずれかの子にフォーカスがあるときにキーを離すと、このコールバックが必ず実行されます。

このプロパティを関数ハンドル (または関数ハンドルを含むセル配列) で指定した場合、MATLAB はコールバック データを含むオブジェクトをコールバック関数の 2 番目の引数として渡します。このオブジェクトには次の表で説明するプロパティが含まれています。コールバック関数内のこれらのプロパティには、ドット表記を使用してアクセスできます。

プロパティ

内容

Character

1 つのキーまたは複数のキーを離した結果として表示される文字です。文字は空の場合や印刷できない場合があります。

Modifier

離される 1 つ以上の修飾キー (controlaltshift など) の名前が格納されるセル配列です。Macintosh コンピューターの場合は、command 修飾キーを離したときに 'command' が格納されます。

Key

離されたキーです。キーに刻印された (小文字の) ラベルまたは説明用の文字列によって識別されます。

Sourceユーザーがキーを離したときにフォーカスのあるオブジェクトです。
Eventnameコールバック関数を実行する原因となったアクションです。

例: @myfun

例: {@myfun,x}

マウス制御

すべて折りたたむ

ButtonDownFcnボタンを押したときのコールバック関数'' (既定値) | 関数ハンドル | セル配列 | 文字列

ボタンを押したときのコールバック関数。次の値の 1 つとして指定します。

  • 関数ハンドル

  • 最初の要素が関数ハンドルであるセル配列。セル配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式である文字列。MATLAB はベース ワークスペース内でこの式を評価します。

コールバックのプロパティ値を関数ハンドル、セル配列または文字列で指定する方法についての詳細は、「コールバック プロパティ値の指定方法」を参照してください。

ポインターが Figure ウィンドウの中にあるが、uicontrol、uipanel、座標軸、座標軸の子などの子オブジェクトの上にはないときにユーザーがマウス ボタンをクリックすると、このコールバックが必ず実行されます。

修飾キーも押されているかどうかを判断するには、Figure の SelectionType プロパティを参照してください。

CurrentPointFigure 内で最後にボタンをクリックした位置2 要素ベクトル: [x-coordinate, y-coordinate]

Figure 内で最後にボタンをクリックした位置。2 要素ベクトルとして返されます。CurrentPoint プロパティの値は、Figure ウィンドウの左下隅から Units プロパティで決められた単位で測定されます。ポインターが Figure ウィンドウ内にあるときにユーザーがマウス ボタンをクリックすると、MATLAB はこのプロパティを必ず更新します。

ユーザーが Figure 内で選択したポイントを、CurrentPoint プロパティから返された値を使用してプロットした場合、丸め誤差の影響で位置に違いが生じる可能性があります。

CurrentPoint と Cursor Motion

MATLAB は、Figure の WindowButtonMotionFcn プロパティおよび WindowButtonUpFcn プロパティで定義されたコールバック関数を実行する前に CurrentPoint を更新します。このため、これらのコールバック関数から CurrentPoint をクエリすることができます。次のように動作します。

  • WindowButtonMotionFcn プロパティまたは WindowButtonUpFcn プロパティにコールバック関数を定義した場合、MATLAB はユーザーが Figure ウィンドウ内でマウス ボタンを押したときにのみ CurrentPoint プロパティを更新します。

  • WindowButtonMotionFcn プロパティにコールバック関数を定義した場合、MATLAB はコールバックを実行する直前に CurrentPoint プロパティを更新します。WindowButtonMotionFcn プロパティは Figure ウィンドウ内でのみ実行されますが、ユーザーが Figure 内でマウス ボタンを押し、"マウスボタンを押したまま" 画面内でポインターを動かす場合は例外になります。この場合、ユーザーがマウス ボタンを離すまで画面内のどこであっても関数が実行されます (そして MATLAB は CurrentPoint プロパティを更新します)。

  • WindowButtonUpFcn プロパティにコールバック関数を定義した場合、MATLAB はコールバックを実行する直前に CurrentPoint プロパティを更新します。WindowButtonUpFcn コールバックはポインターが Figure ウィンドウ内にある場合にのみ実行されますが、ユーザーが Figure ウィンドウ内でマウス ボタンを押し、画面のどこかで "マウスボタンを離す" 場合は例外になります。この場合、CurrentPoint プロパティの値を更新した後で関数が実行されます。

  • uicontrol または uitable コンポーネントを Figure に追加した場合、MATLAB が CurrentPoint プロパティを更新するのは、ユーザーがそのコンポーネントを右クリックしたときまたはそのコンポーネントの Enable プロパティが 'off' または 'inactive' のときにコンポーネントを左クリックしたときです。

WindowButtonMotionFcn コールバックの実行に時間がかかる場合や、ユーザーがポインターを非常に速く移動した場合などの特定の状況では、実際のポインター位置が CurrentPoint プロパティに反映されず、WindowButtonMotionFcn コールバックの実行開始時の位置が反映されることがあります。

ルートの PointerLocation プロパティには、ポインターの移動に同期して更新されたポインターの位置が含まれます。ただし、位置は Figure ウィンドウではなく、画面に対して測定されます。

SelectionTypeマウスの選択タイプ'normal' (既定値) | 'extend' | 'alt' | 'open'

マウスの選択タイプ。'normal''extend''alt' または 'open' として返されます。MATLAB は、このプロパティを使用して、Figure ウィンドウ内で最後にマウス ボタンがクリックされたときの情報を提供します。この情報は、行われた選択のタイプを示します。選択タイプは、ユーザー インターフェイス ソフトウェアからの特定の応答に MATLAB が通常関連付けるアクションです (たとえば、グラフィックス オブジェクトのシングルクリックで移動モードまたはサイズ変更モードに移行したり、ファイル名のダブルクリックでファイルを開くなど)。

これらの選択で要求される物理的なアクションは、プラットフォームによって異なります。ただし、どのプラットフォーム上にもすべての選択タイプが存在します。

選択タイプ

Microsoft Windows

Linux

Mac

'normal'

左マウス ボタンをクリック

左マウス ボタンをクリック

左マウス ボタンをクリック

'extend'

以下のいずれかを行います。

  • Shift キーを押しながら左マウス ボタンをクリック

  • 左と右の両方のマウス ボタンをクリック

以下のいずれかを行います。

  • Shift キーを押しながら左マウス ボタンをクリック

  • 中央のマウス ボタンをクリック

以下のいずれかを行います。

  • Shift キーを押しながら左マウス ボタンをクリック

  • 中央のマウス ボタンをクリック

  • 左と右の両方のマウス ボタンをクリック

'alternate'

Control キーを押しながら左マウス ボタンをクリック、または右ボタンをクリック

Control キーを押しながら左マウス ボタンをクリック、または右ボタンをクリック

Control キーを押しながら左マウス ボタンをクリック、または右ボタンをクリック

'open'

任意のマウス ボタンをダブルクリック

任意のマウス ボタンをダブルクリック

任意のマウス ボタンをダブルクリック

    メモ:   リスト ボックス (uicontrol) では、ダブルクリックの 2 番目のクリックで Figure の SelectionType プロパティが 'open' に設定されます。

WindowButtonDownFcnボタンを押したときのコールバック関数'' (既定値) | 関数ハンドル | セル配列 | 文字列

ボタンを押したときのコールバック関数。次の値の 1 つとして指定します。

  • 関数ハンドル

  • 最初の要素が関数ハンドルであるセル配列。セル配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式である文字列。MATLAB はベース ワークスペース内でこの式を評価します。

コールバックのプロパティ値を関数ハンドル、セル配列または文字列で指定する方法についての詳細は、「コールバック プロパティ値の指定方法」を参照してください。

ポインターが Figure ウィンドウ内にあるときにユーザーがマウス ボタンをクリックすると、このコールバック関数が必ず実行されます。使用例は、WindowButtonMotionFcn プロパティを参照してください。

    メモ:   Macintosh システムで 2 つボタンまたは 3 つボタンのマウスを使用している場合、右ボタンと中央ボタンの押下は必ずしもレポートされません。この状況は、マウス カーソルの下に新しい Figure ウィンドウが表示され、ユーザーがマウスを移動せずにクリックした場合に "のみ" 発生します。この状況で WindowButtonDownFcn コールバックを動作させるには、ユーザーは次のいずれかを実行する必要があります。

    • Figure の作成後にマウスを移動し、任意のマウス ボタンをクリックする

    • Shift キーまたは Ctrl キーを押しながら左マウス ボタンをクリックし、拡張および代替の選択タイプを実行する

    左マウス ボタン (または単一のマウス ボタン) の押下は、上記のアクションを実行しなくても機能します。

コールバックの動作方法についての詳細は、Interruptible プロパティおよび BusyAction プロパティを参照してください。

例: @myfun

例: {@myfun,x}

WindowButtonMotionFcnマウスを移動したときのコールバック関数'' (既定値) | 関数ハンドル | セル配列 | 文字列

マウスを移動したときのコールバック関数。次の値の 1 つとして指定します。

  • 関数ハンドル

  • 最初の要素が関数ハンドルであるセル配列。セル配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式である文字列。MATLAB はベース ワークスペース内でこの式を評価します。

コールバックのプロパティ値を関数ハンドル、セル配列または文字列で指定する方法についての詳細は、「コールバック プロパティ値の指定方法」を参照してください。

ユーザーがポインターを Figure ウィンドウ内で動かすと、このコールバック関数が必ず実行されます。この関数では、キー操作に関連付けられた Figure とコールバック データの少なくとも 2 つの入力引数を定義しなければなりません。

    メモ:   一部のシステムでは、MATLAB が Figure を作成したときに、Figure 内でマウスの移動がなかった場合でも WindowButtonMotionFcn コールバックが実行されます。

コールバック関数では、関数 drawnow または pause を呼び出して表示を更新する必要が生じる場合があります。このとき、MATLAB はキュー内のすべてのコールバックを処理します。コールバック キューの処理によってコールバック関数への再入が発生する可能性があります。そのため、再入を処理できるようにコードを設計し、再入中に状態が変化する可能性のあるグローバル変数には依存しないようにする必要があります。

コールバックの動作方法についての詳細は、Interruptible プロパティおよび BusyAction プロパティを参照してください。

例:ウィンドウ ボタン コールバック関数のコーディング

この例では、3 つすべてのウィンドウ ボタン コールバック関数をコーディングして、ユーザーがマウス操作によって線を描けるようにする方法について説明します。

システムの書き込み可能なフォルダーのファイルに次のコードをコピーして保存します。そして、コードを実行します。座標軸でマウスの左ボタンをクリックし、カーソルを動かします。左クリックして線の終点を指定します。右クリックして描画モードを終了します。

function window_motion_test
% 
figure('WindowButtonDownFcn',@wbdcb)
ah = axes('SortMethod','childorder');
axis ([1 10 1 10])
title('Click and drag')
   function wbdcb(src,callbackdata)
     if strcmp(src.SelectionType,'normal')
        src.Pointer = 'circle';
        cp = ah.CurrentPoint;
        xinit = cp(1,1);
        yinit = cp(1,2);
        hl = line('XData',xinit,'YData',yinit,...
        'Marker','p','color','b');
        src.WindowButtonMotionFcn = @wbmcb;
        src.WindowButtonUpFcn = @wbucb;
     end    
 
        function wbmcb(src,callbackdata)
           cp = ah.CurrentPoint;
           xdat = [xinit,cp(1,1)];
           ydat = [yinit,cp(1,2)];
           hl.XData = xdat;
           hl.YData = ydat;
           drawnow
        end
   
        function wbucb(src,callbackdata)
           if strcmp(src.SelectionType,'alt')
              src.Pointer = 'arrow';
              src.WindowButtonMotionFcn = '';
              src.WindowButtonUpFcn = '';
           else
              return
           end
        end
  end
end

WindowButtonUpFcnボタンを離したときのコールバック関数'' (既定値) | 関数ハンドル | セル配列 | 文字列

ボタンを離したときのコールバック関数。次の値の 1 つとして指定します。

  • 関数ハンドル

  • 最初の要素が関数ハンドルであるセル配列。セル配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式である文字列。MATLAB はベース ワークスペース内でこの式を評価します。

コールバックのプロパティ値を関数ハンドル、セル配列または文字列で指定する方法についての詳細は、「コールバック プロパティ値の指定方法」を参照してください。

このコールバック関数は、ユーザーがマウス ボタンを離したときに必ず実行されます。

ボタンアップ コールバックは、前にボタンを押す操作が発生した Figure ウィンドウに関連付けられています。そのため、ユーザーがボタンを離してボタンアップ コールバックが発生するときに、Figure ウィンドウ内にポインターがある必要はありません。

WindowButtonDownFcn プロパティまたは WindowButtonMotionFcn プロパティによって定義されているコールバック関数がdrawnow コマンドを含んでいるかまたは drawnow コマンドを含む他の関数を呼び出しており、Interruptible プロパティが 'off' に設定されている場合、WindowButtonUpFcn コールバックは呼び出されない可能性があります。この状況は Interruptible プロパティを 'on' に設定することで防ぐことができます。

コールバック関数では、関数 drawnow または pause を呼び出して表示を更新する必要が生じる場合があります。このとき、MATLAB はキュー内のすべてのコールバックを処理します。このキューの処理によってコールバック関数への再入が発生する可能性があります。たとえば、WindowButtonUpFcn コールバック内の drawnow コマンドにより、WindowButtonUpFcn コールバックの最初の呼び出しが終了する前に、これが再度呼び出されることがあります。そのため、再入を処理できるようにコードを設計し、再入中に状態が変化する可能性のあるグローバル変数には依存しないようにする必要があります。

Figure の Interruptible プロパティおよび BusyAction プロパティを使用して、コールバック間の相互作用を制御できます。

例: @myfun

例: {@myfun,x}

WindowScrollWheelFcnマウス スクロール ホイールのコールバック'' (既定値) | 関数ハンドル | セル配列 | 文字列

マウス スクロール ホイールのコールバック。次の値の 1 つとして指定します。

  • 関数ハンドル

  • 最初の要素が関数ハンドルであるセル配列。セル配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式である文字列。MATLAB はベース ワークスペース内でこの式を評価します。

コールバックのプロパティ値を関数ハンドル、セル配列または文字列で指定する方法についての詳細は、「コールバック プロパティ値の指定方法」を参照してください。

このコールバックは、Figure にフォーカスがあるときにユーザーがマウス スクロール ホイールを動かすと実行されます。MATLAB はマウス スクロール ホイールが 1 クリック分動くたびにこのコールバックを実行します。

マウス スクロール ホイールの移動を他のオブジェクトが MATLAB からキャプチャする可能性があることに注意してください。たとえばマウス スクロール ホイールの移動をリッスンする Java® または ActiveX® のコントロール オブジェクトが Figure に含まれている場合、これらのオブジェクトが移動操作をキャプチャし、WindowScrollWheelFcn コールバックの実行が妨げられる可能性があります。

WindowScrollWheelFcn のコールバック データ

このコールバックが関数ハンドル (または関数ハンドルを含むセル配列) の場合、MATLAB はコールバック データを含むオブジェクトをコールバック関数の 2 番目の引数として渡します。このオブジェクトには次の表で説明するプロパティが含まれています。コールバック関数内のこれらのプロパティには、ドット表記を使用してアクセスできます。

プロパティ

内容

VerticalScrollCount

マウス スクロール ホイールのクリック数を示す正または負の整数。正の値は、下方向にスクロールされたホイールのクリックを示します。負の値は、上方向にスクロールされたホイールのクリックを示します。

VerticalScrollAmount

スクロール ホイールのクリックごとにスクロールされる行数に関する現在のシステム設定。スクロールに関するマウス プロパティ設定が One screen at a time に設定されている場合、VerticalScrollAmount プロパティは 1 です。

他のプロパティに対する影響

WindowScrollWheelFcn プロパティ値は、他のプロパティに次のような影響があります。

  • CurrentObject プロパティ — WindowScrollWheelFcn プロパティは CurrentObject プロパティに影響しません。

  • CurrentPoint プロパティ — WindowScrollWheelFcn プロパティに対してコールバックが定義されていない場合、スクロール ホイールの回転では、MATLAB は CurrentPoint プロパティを更新しません。ただし、WindowScrollWheelFcn プロパティに対してコールバックが定義されている場合、MATLAB は、コールバックを実行する直前に CurrentPoint プロパティを更新します。これにより、マウスのスクロールが発生したポイントを調べることができます。

  • SelectionType プロパティ — WindowScrollWheelFcn プロパティは SelectionType プロパティに影響しません。

VerticalScrollCount の戻り値

ユーザーがマウスのスクロール ホイールを 1 クリックずつ動かすと、MATLAB は、スクロールの方向に応じて +/- 1 ずつカウントをインクリメントします (スクロール ダウンの方向が正)。MATLAB が WindowScrollWheelFcn コールバックを呼び出すと、カウンターはリセットされます。多くの場合、戻り値の絶対値は 1 となります。ただし、WindowScrollWheelFcn コールバックが値を返すまでに長い時間を要する場合や、ユーザーがスクロール ホイールを非常に高速に回転させた場合 (またはその両方) には、戻り値の絶対値が 1 より大きくなる場合もあります。

VerticalScrollCount プロパティから実際に返される値は、前回の処理以降に発生したマウス スクロール ホイールの全クリックの代数和です。これにより、コールバックがユーザーのアクションに正しく応答することができます。

例:WindowScrollWheelFcn コールバックのコード

この例ではグラフを作成し、ユーザーがマウス スクロール ホイールを使用して範囲を変更すると、その範囲で MATLAB が数学関数を評価するようにします。また、ユーザーがスクロール ホイールを回転すると、新しい範囲を反映するようにグラフを更新します。

システムの書き込み可能なフォルダーに関数をコピーして保存します。そして、コードを実行します。Figure 上にマウスを置き、マウス ホイールをスクロールさせます。

function scroll_wheel
% Illustrates how to use WindowScrollWheelFcn property
%
   f = figure('WindowScrollWheelFcn',@figScroll,'Name','Scroll Wheel Demo');
   x = [0:.1:40];
   y = 4.*cos(x)./(x+2);
   a = axes; 
   h = plot(x,y);
   title('Rotate the scroll wheel')
   function figScroll(src,callbackdata)
      if callbackdata.VerticalScrollCount > 0 
         xd = h.XData;
         inc = xd(end)/20;
         x = [0:.1:xd(end)+inc];
         re_eval(x)
      elseif callbackdata.VerticalScrollCount < 0 
         xd = h.XData;
         inc = xd(end)/20;
         x = [0:.1:xd(end)-inc+.1]; % Don't let xd = 0;
         re_eval(x)
      end
   end % figScroll

   function re_eval(x)
      y = 4.*cos(x)./(x+2);
      h.YData = y;
      h.XData = x;
      a.XLim = [0 x(end)];
      drawnow
   end % re_eval
end % scroll_wheel

UIContextMenuFigure コンテキスト メニュー空の GraphicsPlaceholder 配列 (既定値) | uicontextmenu オブジェクト

Figure コンテキスト メニュー。uicontextmenu オブジェクトとして指定します。このプロパティを使用して、ユーザーが figure 上で右クリックしたときにコンテキスト メニューを表示します。関数 uicontextmenu を使用して、コンテキスト メニューを作成します。

ウィンドウ制御

すべて折りたたむ

CloseRequestFcnFigure のクローズ要求のコールバック関数'' (既定値) | 関数ハンドル | セル配列 | 文字列

Figure のクローズ要求のコールバック関数。次の値の 1 つとして指定します。

  • 関数ハンドル

  • 最初の要素が関数ハンドルであるセル配列。セル配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式である文字列。MATLAB はベース ワークスペース内でこの式を評価します。

コールバックのプロパティ値を関数ハンドル、セル配列または文字列で指定する方法についての詳細は、「コールバック プロパティ値の指定方法」を参照してください。

このコールバックは、ユーザーが Figure ウィンドウを閉じようとするときに必ず実行されます。たとえば、閉じる操作の確定またはキャンセルの選択を求めるダイアログ ボックスを表示したり、ユーザーがグラフィカル ユーザー インターフェイス (GUI) を含む Figure を閉じることを回避したりできます。

基本的なメカニズムは以下のとおりです。

  1. ユーザーがコマンド ラインから close または close all コマンドを発行するか、コンピューターのウィンドウ マネージャー メニューから Figure を閉じるか、MATLAB を終了して Figure を閉じます。

  2. 閉じる操作によって、Figure の CloseRequestFcn プロパティで定義された関数が実行されます。既定の関数は closereq です。

    関数 closereq は、現在の Figure を無条件で削除し、ウィンドウを破棄します。関数 closereq は、対応するクローズ要求関数が呼び出される前に、close コマンドによって引数として指定されたそれぞれの Figure が 現在の Figure になることを利用します。

Figure を削除する際に、関数 closereqShowHiddenHandles プロパティの設定に従うため、非表示の Figure を削除しません。

クローズ要求関数が関数 delete または関数 close を呼び出さない限り、MATLAB がこの Figure を閉じることはありません(非破壊的なクローズ要求関数をもつウィンドウを作成した場合は、コマンド ラインから関数 delete(figure) を呼び出せます)。

例:ダイアログ ボックスを表示する CloseRequestFcn のコーディング

この例では、閉じる操作の確認をユーザーに求める質問ダイアログ ボックスを表示するようにクローズ要求関数をコーディングする方法について説明します。次のコードをシステムの書き込み可能なフォルダーに保存します。

function my_closereq(src,callbackdata)
% Close request function 
% to display a question dialog box 
   selection = questdlg('Close This Figure?',...
      'Close Request Function',...
      'Yes','No','Yes'); 
   switch selection, 
      case 'Yes',
         delete(gcf)
      case 'No'
      return 
   end
end

次に、my_closereqCloseRequestFcn に指定して Figure を作成します。

figure('CloseRequestFcn',@my_closereq)

Figure ウィンドウを閉じると質問のダイアログ ボックスが表示されます。

WindowStyleFigure ウィンドウの動作'normal' (既定値) | 'modal' | 'docked'

Figure ウィンドウの動作。次のいずれかとして指定します。

  • 'normal' — Figure ウィンドウは他のウィンドウから独立しており、この Figure の表示中に他のウィンドウにアクセスできます。

  • 'modal' — この Figure は、既存のすべての Figure ウィンドウの上に表示されます。この一番上に表示された Figure が存在してモーダルな状態である限り、既存のウィンドウへのアクセスができなくなります。ただし、モーダルな Figure の後に作成された新しい Figure は表示されます。たとえば、モーダルな GUI によって作成されたプロットはモーダルなウィンドウの上に置かれ、アクセス可能です。このプロットを含む Figure も同様にモーダルになる可能性があります。

    複数のモーダルなウィンドウが存在する場合、最後に作成されたウィンドウがフォーカスされ、他のすべてのウィンドウの前面に表示されます。この状態は、不可視になるか、通常のウィンドウ スタイルに戻るか、削除されるまで継続します。継続が終了した場合、フォーカスは、最後にフォーカスされたウィンドウに戻ります。

  • 'docked' — Figure はデスクトップまたはドキュメント ウィンドウに表示されます。次のコードは Figure をドッキング状態にし、DockControls プロパティが 'off' に設定されている場合には 'on' に設定します。

    f = figure;
    f.WindowStyle = docked;

    WindowStyle プロパティが 'docked' に設定されている場合には、DockControls プロパティを 'off' に設定できません。

    メモ:   WindowStyle プロパティにはいくつかの重要な特徴と推奨されるベスト プラクティスがあります。

    • UI ウィンドウを作成するときは、常に WindowStyle プロパティを指定します。さらに Figure の ResizePosition または OuterPosition プロパティも設定する場合は、WindowStyle プロパティを最初に設定します。

    • Figure の WindowStyle プロパティは、Figure が可視な場合や子オブジェクトを含む場合を含め、いつでも変更できます。ただし、一部のシステムではノーマル ウィンドウとモーダル ウィンドウの実装によっては、このプロパティを設定することで、Figure の点滅や非表示後に再表示される現象が発生する場合もあります。視覚的に最良な結果を得るには、WindowStyle プロパティの設定は、Figure の作成時または非表示のときに行います。

    • Figure で reset を呼び出しても WindowStyle プロパティの値は変更されません。

モーダル ウィンドウ スタイルの動作

WindowStyle'modal' に設定されている場合、Figure ウィンドウが可視である限り、Figure ウィンドウはすべての MATLAB ウィンドウ上のすべてのキーボード操作とマウス操作をトラップします。MATLAB 以外のアプリケーションのウィンドウには影響しません。

モーダルな Figure にフォーカスがあるときに Ctrl + C を入力すると、Figure は 'normal' WindowStyle プロパティ設定に戻ります。これによりユーザーはコマンド ラインに入力できます。

WindowStyle プロパティが 'modal' に、Visible プロパティが 'off' に設定された Figure は、MATLAB が表示しない限りモーダル動作になりません。このためモーダル ウィンドウを破棄する代わりに、後で再利用するために非表示にすることができます。

モーダルな Figure は uimenu の子、組み込みのメニュー、ツール バーを表示しません。しかし、モーダルな Figure 内で uimenu を作成したり、uimenu の子をもつ Figure で WindowStyle プロパティ設定を 'modal' に変更したりするのは誤りではありません。その uimenu オブジェクトは存在し、Figure はそれを維持します。Figure の WindowStyle プロパティを 'normal' にリセットすると、その uimenu は表示されます。

作成と削除の制御

すべて折りたたむ

BeingDeletedfigure の削除状態'off' (既定値) | 'on'

このプロパティは読み取り専用です。

figure の削除状態。'on' または 'off' として返されます。MATLAB は figure の削除関数が実行を開始したときに BeingDeleted プロパティを 'on' に設定します (DeleteFcn プロパティを参照してください)。figure が存在しなくなるまで BeingDeleted プロパティは 'on' に設定されたままです。

クエリや変更の前に figure が削除されようとしていないか確認するために BeingDeleted プロパティの値をチェックします。

CreateFcnFigure 作成関数関数ハンドル | セル配列 | 文字列

Figure 作成関数。次の値の 1 つとして指定します。

  • 関数ハンドル

  • 最初の要素が関数ハンドルであるセル配列。セル配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式である文字列。MATLAB はベース ワークスペース内でこの式を評価します。

コールバックのプロパティ値を関数ハンドル、セル配列または文字列で指定する方法についての詳細は、「コールバック プロパティ値の指定方法」を参照してください。

このプロパティは、MATLAB が figure を作成するときに実行されるコールバック関数を指定します。MATLAB は CreateFcn コールバックを実行する前に figure のすべてのプロパティの値を初期化します。CreateFcn プロパティを指定しない場合、MATLAB は既定の作成関数を実行します。

作成中の figure のハンドルを取得するには、CreateFcn コードの中で関数 gcbo を使用します。

既存の figure に CreateFcn プロパティを設定しても効果はありません。

    メモ:   copyobj または textwrap (関数 copyobj を呼び出す) を CreateFcn 内で呼び出さないでください。figure オブジェクトをコピーすると、CreateFcn コールバックが繰り返し実行されます。

例: @myfun

例: {@myfun,x}

データ型: function_handle | cell | char

DeleteFcnFigure 削除関数関数ハンドル | セル配列 | 文字列

Figure 削除関数。次の値の 1 つとして指定します。

  • 関数ハンドル

  • 最初の要素が関数ハンドルであるセル配列。セル配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式である文字列。MATLAB はベース ワークスペース内でこの式を評価します。

コールバックのプロパティ値を関数ハンドル、セル配列または文字列で指定する方法についての詳細は、「コールバック プロパティ値の指定方法」を参照してください。

DeleteFcn プロパティは、MATLAB が figure を削除するときに実行されるコールバック関数を指定します (エンド ユーザーが Figure を削除するときなど)。MATLAB は figure のプロパティを破棄する前に DeleteFcn コールバックを実行します。DeleteFcn プロパティを指定しない場合、MATLAB は既定の削除関数を実行します。

削除中の figure のハンドルを取得するには、DeleteFcn コードの中で関数 gcbo を使用します。

例: @myfun

例: {@myfun,x}

データ型: function_handle | cell | char

識別子

すべて折りたたむ

CurrentAxes現在の Figure のターゲットの座標軸axes object

現在の Figure のターゲットの座標軸。axes オブジェクトとして指定します。MATLAB はこのプロパティを Figure の現在のaxes オブジェクトに設定します。axes オブジェクトの子オブジェクトが存在する Figure には、常に現在の Axes があります。現在の座標軸は、最上層の座標軸でなくてもかまいません。また、ある座標軸を現在の座標軸に設定しても、他のすべての座標軸より上位に再スタックされることはありません。Figure に座標軸が含まれていない場合、get(gcf,'CurrentAxes') コマンドは空の配列を返します。

座標軸が存在しない場合に座標軸の作成を強制せずに現在の axes オブジェクトを取得するには、Figure の CurrentAxes プロパティをクエリします。

fh = gcf;
ah = fh.CurrentAxes

MATLAB は、現在の座標軸が存在しない場合には、h を空の配列として返します。Figure が存在しない場合は gcf が Figure を作成することに注意してください。

CurrentObjectFigure 内で最後に選択されたコンポーネントオブジェクト

Figure 内で最後に選択されたコンポーネント。オブジェクトとして指定します。MATLAB は CurrentObject プロパティにユーザーが最後にクリックしたオブジェクトを設定します。これは、最前面に表示されるオブジェクトです。このプロパティは、ユーザーが選択したオブジェクトを判定するために使用できます。

オブジェクトの HitTest プロパティは、このオブジェクトが CurrentObject になるかどうかを制御します。

HandleVisibility プロパティが off であるオブジェクト (軸ラベルやタイトルなど) をクリックすると、CurrentObject プロパティは空に設定されます。ユーザーが非表示のオブジェクトをクリックしたときに空の値が返るのを回避するには、非表示のオブジェクトの HitTest プロパティを 'off' に設定します。

カーソルをオブジェクトの上に移動しても CurrentObject は更新されません。このプロパティを更新するには、ユーザーはオブジェクトをクリックしなければなりません。関連情報については、CurrentPoint プロパティを参照してください。

現在のオブジェクトに素早くアクセスする手段が必要な場合は、gco コマンドの使用を検討してください。

FileNameGUI Fig ファイル名文字列

GUI Fig ファイル名。文字列として指定します。GUIDE は、GUI のレイアウトを保存する Fig ファイルの名前をこのプロパティに保存します。GUIDE 以外の GUI の場合、既定では FileName プロパティは空です。GUIDE 以外の GUI でFileName プロパティを指定してそれにアクセスすることにより、どの GUI が実行されているかの確認や、GUI が保存されているかどうかの確認を行うことができます。

例: 'myguifile.fig'

IntegerHandleFigure の番号を割り当てる機能'on' (既定値) | 'off'

Figure の番号を割り当てる機能。'on' または 'off' で指定します。

IntegerHandle プロパティを 'on' に設定した場合、MATLAB は既存の Figure によって使用されていない最小の整数値を探して、その値を Number プロパティに設定します。Figure を削除した場合、MATLAB はその番号を新しい Figure ウィンドウで再利用します。

IntegerHandle プロパティを 'off' に設定した場合、MATLAB はその Figure に整数値を割り当てず、Number プロパティを空の配列 ([]) に設定します。

NumberFigure の番号整数 | []

このプロパティは読み取り専用です。

Figure の番号。整数または空の配列として返されます。この値を使用して Figure を参照できます。たとえば、figure(2) と指定すると、Number プロパティ値が 2 の Figure が現在の Figure になります。

IntegerHandle プロパティが 'off' に設定されている場合、Number は空の配列です。

IntegerHandle'on' の場合、Number プロパティの値は整数値です。Figure が削除された場合、MATLAB はその Figure の番号を次に作成された Figure ウィンドウで再利用します。

例: 3

TagFigure の識別子' ' (既定値) | 文字列

Figure の識別子。文字列として指定します。figure の識別子として機能する一意の Tag 値を指定できます。コードの他の部分から figure にアクセスする必要がある場合、関数 findobj を使用して Tag 値に基づいて figure を検索できます。

例: 'Plotting Figure'

TypeFigure オブジェクトのタイプ 'figure'

このプロパティは読み取り専用です。

Figure オブジェクトのタイプ。文字列 'figure' として返されます。このプロパティを使用して、プロット階層内にある特定のタイプのすべてのオブジェクトを見つけます。

UserDatafigure オブジェクトに関連付けるデータ空の配列 (既定値) | 配列

figure オブジェクトに関連付けるデータ。任意の配列として指定します。UserData の指定は、作成する GUI の中や GUI をまたがってデータ値を共有するのに役立ちます。詳細は、「コールバック間のデータ共有」を参照してください。

例: [1 2 3]

例: 'April 21'

例: struct('value1',[1 2 3],'value2','April 21')

例: {[1 2 3],'April 21'}

親/子

すべて折りたたむ

ParentFigure の親root object

Figure の親。root オブジェクトとして返されます。

Childrenfigure の子 空の GraphicsPlaceholder 配列 (既定値) | 1 次元のオブジェクト配列

figure の子。空の GraphicsPlaceholder または 1 次元のオブジェクト配列として返されます。

figure の Children プロパティを使用して子の追加や削除を行うことはできません。このプロパティは、子のリストの参照や子の並べ替えに使用します。この配列内の子の順序は、画面上のコンポーネントの前から後ろへの順序 (重なり順序) を反映します。

このリストに子を追加するには、子コンポーネントの Parent プロパティをこの figure のハンドルに設定します。

HandleVisibility プロパティが 'off' に設定されているオブジェクトは、figure の Children プロパティにリストされません。

HandleVisibilityfigure ハンドルの可視性'on' (既定値) | 'callback' | 'off'

figure ハンドルの可視性。'on''callback' または 'off' として指定します。

このプロパティは、figure が親 (root) オブジェクトの子のリストに含まれるかどうかを決定します。HandleVisibility は、ユーザー インターフェイス コンポーネント (ダイアログ ボックスなど) のみを含む Figure 内にコマンド ラインから誤って描画したり、Figure を削除することを防ぐ場合に有効です。

オブジェクトが親オブジェクトの子のリストに含まれていない場合、オブジェクト階層を探索してオブジェクトを検出する関数やプロパティのクエリによってこのオブジェクトが返されることはありません。このような関数には、getfindobj, gcagcfgco, newplotclaclfclose などがあります。

HandleVisibility プロパティの値が 'callback' または 'off' の設定によって制限されている場合、そのオブジェクトは親オブジェクトの Children プロパティに出現せず、Figure はルートの CurrentFigure プロパティに出現せず、オブジェクトはルートの CallbackObject プロパティまたは Figure の CurrentObject プロパティに出現せず、座標軸は親の CurrentAxes プロパティに出現しません。

ルートの ShowHiddenHandles プロパティを 'on' に設定すると、個々のオブジェクトの HandleVisibility の設定にかかわりなく、すべてのオブジェクトが可視になります。これによって HandleVisibility プロパティの値が影響を受けることはありません。

ポインター

すべて折りたたむ

Pointerポインター シンボル'arrow' (既定値) | 文字列

ポインター シンボル。文字列として指定します。有効な文字列について次の表に示します。慣例により、それぞれの記号は一般的に特定の用途を示します。しかし、MATLAB はいずれの記号の用途のルールも強制しません。指定された文字列に対して表示される記号の外観は、オペレーティング システムに依存します。

一般的な使用方法

記号文字列

テキストの編集位置

'ibeam'

グラフィックス オブジェクト上の点

'crosshair'

Figure 内の任意の点

'arrow'

処理中のシステム

'watch'

左上隅または右下隅からオブジェクトのサイズを変更

'topl' または 'botr'

右上隅または左下隅からオブジェクトのサイズを変更

'topr' または 'botl'

ホット スポット

'circle'

'cross'

オブジェクトの移動

'fleur'

左側からオブジェクトのサイズを変更

'left'

右側からオブジェクトのサイズを変更

'right'

上側または下側からオブジェクトのサイズを変更

'top' または 'bottom'

クリック可能なアイコン

'hand'

    メモ:   'fullcrosshair' オプションは R2014b で削除されました。

Pointer プロパティを 'custom' に設定すると、独自のポインター シンボルを定義できます。詳細は、PointerShapeCData プロパティを参照してください。

PointerShapeCDataポインターの形状1616 列の行列

Pointer プロパティが 'custom' に設定されているときに MATLAB が使用するポインターの形状。1616 列の行列として指定します。この行列は次の値を使用して 1616 列のピクセル ポインターを定義します。

  • 1 — 黒のピクセル

  • 2 — 白のピクセル

  • NaN — ピクセルを透明にして下の画面をそのまま表示

PointerShapeCData 行列の要素 (1,1) は、ポインターの左上隅に対応します。Pointer プロパティを事前定義のポインター記号のいずれかに設定した場合、PointerShapeCData の値は変更されません。32 x 32 ピクセルのポインターをサポートするコンピューター システムでは、使用可能なピクセル マップの 4 分の 1 のみのポインターになります。

PointerShapeHotSpotポインターのアクティブな領域[1 1] — 左上隅 (既定値) | two-element vector

ポインターのアクティブな領域。2 要素ベクトルとして指定します。このベクトルは、ポインターの位置を示すピクセルを定義する PointerShapeCData 行列内の行と列のインデックスを指定します。CurrentPoint プロパティおよび root オブジェクトの PointerLocation プロパティが位置を指定します。

印刷

すべて折りたたむ

PaperSize現在の PaperType のサイズ[width height]

現在の PaperType のサイズ。[width height] として指定します。既定値は、次のようにロケールによって異なります。

  • 米国 — [8.5000 11]

  • ヨーロッパおよびアジア — [21 29.7]

PaperUnits プロパティによって測定単位が指定されます。PaperUnits プロパティが 'normalized' に設定されている場合、このプロパティは設定できません。設定しようとするとエラーになります。

標準の用紙サイズの選択方法については、PaperType プロパティを参照してください。

    ヒント:   PaperUnits プロパティの設定を指定したくない場合は、PaperSize プロパティの代わりに PaperType プロパティを使用します。

PaperUnits出力の測定単位'inches' | 'centimeters' | 'normalized' | 'points'

ページの下端から測定される出力の測定単位。以下のいずれかの値として指定します。

  • 'inches'— 絶対単位

    ロケールが米国の場合の既定値です。

  • 'normalized' — ページの左下隅を (0, 0) に、右上隅を (1.0, 1.0) にマップします

  • 'centimeters'— 絶対単位

    ロケールがヨーロッパまたはアジアの場合の既定値です。

  • 'points' — 絶対単位。1 ポイントは 1/72 インチに等しくなります

このプロパティは紙に印刷される出力だけではなく、すべての印刷出力およびエクスポート出力に影響します。

MATLAB はこれらの単位を PaperPosition プロパティおよび PaperSize プロパティで使用します。

PaperUnits プロパティの値を変更した場合、PaperUnits プロパティの設定値が既定値であることを前提としている他の関数に影響を及ぼさないように、計算終了後に元の既定値に戻すことを推奨します。

PaperOrientation印刷ページでの Figure の向き'portrait' (既定値) | 'landscape'

印刷ページでの Figure の向き。'portrait' または 'landscape' で指定します。

  • 'portrait' — 用紙の長辺を縦方向にします。

  • 'landscape' — 用紙の長辺を横方向にします。

詳細は、関数 orient を参照してください。

PaperPositionページ上の Figure の位置とサイズ [left bottom width height]

ページ上の Figure の位置とサイズ。[left bottom width height] として指定します。ページは、印刷されたページおよび PDF や PostScript® 形式でエクスポートされたファイルが該当します。left の値は、ページの左端から Figure の左端までの距離を指定します。bottom の値は、ページの底辺から Figure の底辺までの距離を指定します。これらの距離を組み合わせることで Figure の左下隅の位置を指定します。

widthheight の値は Figure の寸法を定義します。PaperUnits プロパティによって測定単位が指定されます。

    メモ:   イメージ ファイル形式や Encapsulated PostScript (EPS) などのページのない形式にエクスポートする場合、MATLAB は幅と高さの値のみを使用します。

例: [.25 .25 8 6]

PaperPositionModePaperPosition プロパティを尊重する命令'manual' (既定値) | 'auto'

PaperPosition プロパティを尊重する命令。次のいずれかとして指定します。

  • 'manual' — MATLAB は、PaperPosition プロパティで指定された値を使用します。

  • 'auto' — MATLAB は、コンピューター画面上の表示と同じサイズで Figure を印刷します。ページ形式では、出力はページの中央になります。

    PaperPosition'auto' の場合は、出力サイズを決定するために、Figure のサイズ (幅と高さ) が画面の解像度に基づいてインチに変換されます。MATLAB は出力の解像度に基づいてそのサイズと一致するように出力を生成します。たとえば解像度が 100 dpi の画面上で 500 x 400 ピクセルの Figure は 5x4 インチと測定され、150 dpi で出力する場合、このイメージは 750 x 600 ピクセルになります (5 インチ * 150 dpi x 4 インチ * 150 dpi)。

      ヒント:   ピクセル単位で画面上のサイズと一致する出力を生成するには、print-r0 オプションを指定して呼び出します。

PaperType標準の用紙サイズの選択文字列

標準の用紙サイズの選択。文字列で指定します。

既定の設定は次のようにロケールに依存します。

  • 米国 — 'usletter'

  • ヨーロッパおよびアジア — 'a4'

有効な文字列については次の表で説明します。文字列は大文字または小文字で入力できますが、MATLAB は常に小文字を使用して文字列を保存します。

印刷される Figure を新しい用紙サイズ上で配置するために、PaperPosition プロパティの設定を変更する必要が生じる場合があります。PaperUnits プロパティを 'normalized' に設定することを検討してください。この設定により MATLAB は、用紙サイズにかかわらず印刷ページの相対的な占有サイズが同じになるように Figure のサイズを自動的に調整します。

プロパティ値

サイズ (幅 x 高さ)

'usletter'

8.5 x 11 インチ

'uslegal'

8.5 x 14 インチ

'tabloid'

11 x 17 インチ

'a0'

841 x 1189 mm

'a1'

594 x 841 mm

'a2'

420 x 594 mm

'a3'

297 x 420 mm

'a4'

210 x 297 mm

'a5'

148 x 210 mm

'b0'

1029 x 1456 mm

'b1

728 x 1028 mm

'b2'

514 x 728 mm

'b3'

364 x 514 mm

'b4'

257 x 364 mm

'b5'

182 x 257 mm

'arch-a'

9 x 12 インチ

'arch-b'

12 x 18 インチ

'arch-c'

18 x 24 インチ

'arch-d'

24 x 36 インチ

'arch-e'

36 x 48 インチ

'a'

8.5 x 11 インチ

'b'

11 x 17 インチ

'c'

17 x 22 インチ

'd'

22 x 34 インチ

'e'

34 x 43 インチ

InvertHardcopy印刷時またはエクスポート時に白い背景上の黒を使用する命令'on' (既定値) | 'off'

印刷時またはエクスポート時に白い背景上の黒を使用する命令。'on' または 'off' の文字列で指定します。白以外の背景色 (Color プロパティ) をもつ Figure を印刷すると、グラフィックス オブジェクトと Figure の背景とのコントラストが弱い出力結果となり、また、プリンターのトナーの消費も多くなります。

InvertHardCopy プロパティを 'on' に設定すると、MATLAB は Figure と座標軸の色を白に変更し、座標軸のライン、目盛り、軸ラベルなど、現在白いものを黒に変更します。ライン、テキストおよびパッチや表面のエッジは、指定した print コマンドのオプションによっては変更される可能性があります。

InvertHardCopy'off' に設定すると、印刷出力またはエクスポート出力は画面上に表示される色で行われます。

この情報は役に立ちましたか?