このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Figure のプロパティ
Figure ウィンドウの外観と動作の制御
Figure は、グラフィックス コンポーネントまたはユーザー インターフェイス コンポーネントのコンテナーです。Figure プロパティは Figure の特定のインスタンスの外観と動作を制御します。Figure の要素を変えるには、プロパティ値を変更します。プロパティのクエリと設定にはドット表記を使用します。
f = figure; u = f.Units; f.Units = 'inches';
関数 uifigure
を使用して作成された Figure については、代わりに UI Figure のプロパティ を参照してください。
ウィンドウの外観
MenuBar
— Figure のメニュー バー表示
'figure'
(既定値) | 'none'
Figure のメニュー バー表示。'figure'
または 'none'
として指定します。MenuBar
プロパティによって、Figure ウィンドウ上部にある既定のメニューを表示または非表示にできます。メニュー バーを表示するには 'figure'
を指定します。非表示にするには 'none'
を指定します。
このプロパティは既定のメニューにのみ影響し、uimenu
コマンドによって定義されているメニューには影響しません。
メニュー バーは、WindowStyle
プロパティが 'Modal'
に設定されている Figure には表示されません。uimenu の子を含む Figure が 'Modal'
に変更された場合、そのメニューの子は Figure の Children
プロパティ内に存在したままになります。ただし、WindowStyle
が 'Modal'
に設定されている間、このメニューは表示されません。
メモ
Figure に既定のメニューが表示されないようにするには、Figure を作成するときにこのプロパティを 'none'
に設定します。
ToolBar
— Figure のツール バー表示
'auto'
(既定値) | 'figure'
| 'none'
Figure のツール バー表示。次のいずれかとして指定します。
'auto'
—MenuBar
プロパティと同じ値を使用します。'figure'
— ツール バーを表示します。'none'
— ツール バーを表示しません。
このプロパティは既定のツール バーにのみ影響します。[カメラ ツール バー]、[プロット編集 ツール バー] などの他のツール バーには影響しません。Figure の [表示] メニューから [Figure ツール バー] を選択すると、このプロパティが関数 'figure'
に設定されます。
ツール バーは、WindowStyle
プロパティが 'Modal'
に設定されている Figure には表示されません。ツール バーを含む Figure が 'Modal'
に変更された場合、そのツール バーの子は Figure の Children
プロパティ内に存在したままになります。ただし、WindowStyle
が 'Modal'
に設定されている間、このツール バーは表示されません。
メモ
既定のツール バーを非表示にするには、Figure を作成するときにこのプロパティを 'none'
に設定します。
DockControls
— 対話型の Figure のドッキング
'on'
(既定値) | 'off'
対話型の Figure のドッキング。'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
'on'
— Figure は、MATLAB® デスクトップ内でドッキングすることができます。[デスクトップ] 、 [Figure をドックに入れる] メニュー項目およびメニュー バーの [Figure をドックに入れる] ボタン が有効になります。'off'
— MATLAB は [デスクトップ] 、 [Figure をドックに入れる] メニュー項目を無効にし、[Figure をドックに入れる] ボタンを表示しません。WindowStyle
が'docked'
に設定されている場合には、DockControls
プロパティを'off'
に設定できません。
DockControls
プロパティの設定は MATLAB Online™ でサポートされていません。
Color
— 背景色
RGB 3 成分 | 16 進数カラー コード | 'r'
| 'g'
| 'b'
| ...
背景色。RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。'none'
を指定した場合、背景色は画面上では黒く表示されますが、Figure を印刷するとその背景は Figure ウィンドウが透明であるかのように印刷されます。
カスタム色を使用する場合は、RGB 3 成分または 16 進数カラー コードを指定します。
RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は
[0,1]
の範囲でなければなりません。たとえば[0.4 0.6 0.7]
のようになります。16 進数カラー コードは、ハッシュ記号 (
#
) で始まり、3 桁または 6 桁の0
からF
までの範囲の 16 進数が続く string スカラーまたは文字ベクトルです。この値は大文字と小文字を区別しません。したがって、カラー コード"#FF8800"
、"#ff8800"
、"#F80"
、および"#f80"
は等価です。
あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。
色名 | 省略名 | RGB 3 成分 | 16 進数カラー コード | 外観 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" | |
"none" | 該当なし | 該当なし | 該当なし | 色なし |
MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。
RGB 3 成分 | 16 進数カラー コード | 外観 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
データ型: double
| char
WindowStyle
— ウィンドウ スタイル
'normal'
(既定値) | 'modal'
| 'docked'
ウィンドウ スタイル。次のいずれかとして指定します。
'normal'
— Figure ウィンドウは他のウィンドウから独立しており、この Figure の表示中に他のウィンドウにアクセスできます。'modal'
— この Figure は、既存のすべての Figure ウィンドウの上に表示されます。この一番上に表示された Figure が存在してモーダルな状態である限り、既存のウィンドウへのアクセスができなくなります。ただし、モーダルな Figure の後に作成された新しい Figure は表示されます。複数のモーダルなウィンドウが存在する場合、最後に作成されたウィンドウがフォーカスされ、他のすべてのウィンドウの前面に表示されます。この状態は、不可視になるか、通常のウィンドウ スタイルに戻るか、削除されるまで継続します。継続が終了した場合、フォーカスは、最後にフォーカスされたウィンドウに戻ります。
'docked'
— Figure はデスクトップまたはドキュメント ウィンドウに表示されます。WindowStyle
プロパティが'docked'
に設定されている場合には、DockControls
プロパティを'off'
に設定できません。'docked'
オプションは、MATLAB Online でサポートされていません。
メモ
WindowStyle
プロパティにはいくつかの重要な特徴と推奨されるベスト プラクティスがあります。
UI ウィンドウを作成するときは、常に
WindowStyle
プロパティを指定します。さらに Figure のResize
、Position
または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 はメニューの子、組み込みのメニュー、ツール バーを表示しません。しかし、モーダルな Figure 内にメニューを作成したり、メニューの子をもつ Figure で WindowStyle
プロパティの設定を 'modal'
に変更したりするのは誤りではありません。その Menu
オブジェクトは存在し、Figure はそれを維持します。Figure の WindowStyle
プロパティを 'normal'
にリセットすると、そのメニューが表示されます。
WindowState
— ウィンドウの状態
'normal'
(既定値) | 'minimized'
| 'maximized'
| 'fullscreen'
ウィンドウの状態。次の値のいずれかとして指定します。
'normal'
— ウィンドウが標準の状態で表示されます。'minimized'
— ウィンドウが折りたたまれます。ただし、プロパティの取得や設定、子の追加、ウィンドウでのプロットの作成などのコマンドは引き続き実行できます。'maximized'
— ウィンドウが全画面表示になります。オペレーティング システムから提供される最小化ボタン、元に戻すボタン、閉じるボタンがウィンドウの隅に表示されます。ウィンドウの標準の状態にメニューやツール バーがある場合、それらはこの状態で表示されます。'fullscreen'
— ウィンドウが全画面表示になります。ただし、オペレーティング システムから提供される最小化ボタン、元に戻すボタン、閉じるボタンは非表示になります。ウィンドウの標準の状態にメニューやツール バーがある場合、それらはこの状態で表示されます。
オペレーティング システムから提供される最小化ボタン、元に戻すボタン、閉じるボタンをクリックすると、それに応じて WindowState
プロパティが設定されます。Ctrl+F11 キー (Windows® および Linux®) または Ctrl+Command+F キー (macOS) を押すと、'fullscreen'
の状態が切り替わります。
ドッキングされた Figure、または MATLAB Online では、WindowState
プロパティの設定がサポートされていません。
位置とサイズ
Position
— 描画可能領域の位置とサイズ
[left bottom width height]
描画可能領域の位置とサイズ。[left bottom width height]
の形式のベクトルとして指定します。この領域には、Figure の境界線、タイトル バー、メニュー バーおよびツール バーは含まれません。
次の表で、Position
ベクトルの各要素について説明します。
要素 | 説明 |
---|---|
left | プライマリ ディスプレイの左端から、ウィンドウ内側の左端までの距離。この値は、複数のモニターがあるシステムでは負の値になる場合があります。 Figure がドッキングしている場合、この値は、MATLAB デスクトップ内の Figure パネルを基準にした値になります。 |
bottom | プライマリ ディスプレイの下端から、ウィンドウ内側の下端までの距離。この値は、複数のモニターがあるシステムでは負の値になる場合があります。 Figure がドッキングしている場合、この値は、MATLAB デスクトップ内の Figure パネルを基準にした値になります。 |
width | figure の内側の左右の端の間の距離。 |
height | ウィンドウ内側の上下の端の距離。 |
すべての測定値は、Units
プロパティで指定した単位で表されます。
Figure がドッキングしているときには、Figure の Position
プロパティは指定できません。
MATLAB Online では、Position
ベクトルの bottom
要素および left
要素は無視されます。
境界線、タイトル バー、メニュー バーおよびツール バーを含むウィンドウ全体を配置するには、OuterPosition
プロパティを使用します。
メモ
Windows オペレーティング システムでは、最小ウィンドウ幅と最大ウィンドウ サイズが適用されます。これらの範囲を超える Figure サイズを指定した場合、表示される Figure は指定されたサイズではなく、これらの範囲に従います。
Units
— 測定の単位
'pixels'
(既定値) | 'normalized'
| 'inches'
| 'centimeters'
| 'points'
| 'characters'
測定の単位。次の表のいずれかの値として指定します。
単位の値 | 説明 |
---|---|
'pixels' (既定) | ピクセル。 R2015b 以降、Windows および Macintosh システムにおいて、ピクセル単位の距離はシステム解像度に依存しません。
Linux システムでは、ピクセルのサイズは使用しているシステムの解像度によって決まります。 |
'normalized' | これらの単位は親コンテナーを基準として正規化されます。コンテナーの左下隅が (0,0) で、右上隅が (1,1) になります。 |
'inches' | インチ。 |
'centimeters' | センチメートル。 |
'points' | ポイント。1 ポイントは 1/72 インチです。 |
'characters' | これらの単位は、グラフィックス ルート オブジェクトの既定の uicontrol フォントを基にしています。
既定の uicontrol フォントにアクセスするには、 |
MATLAB ではすべての単位を親オブジェクトの左下隅から測定します。
このプロパティは Position
プロパティに影響します。Units
プロパティを変更した場合、この既定値を想定する他の関数に影響を与えないように、計算の完了後に値を既定値に戻すことを検討してください。
Units
プロパティと Position
プロパティを指定する順序は次のように影響します。
Position
プロパティの前にUnits
プロパティを指定する場合、MATLAB は指定した単位を使用してPosition
を設定します。Position
プロパティの後にUnits
プロパティを指定する場合、MATLAB は既定のUnits
を使用して位置を設定します。その後、MATLAB はPosition
の値を、指定した単位における等価の値に変換します。
InnerPosition
— 描画可能領域の位置とサイズ
[left bottom width height]
描画可能領域の位置とサイズ。[left bottom width height]
の形式のベクトルとして指定します。この領域には、Figure の境界線、タイトル バー、メニュー バーおよびツール バーは含まれません。すべての測定値は、Units
プロパティで指定した単位で表されます。
このプロパティ値は、Position
プロパティ値と同一です。
OuterPosition
— 外側の境界の位置とサイズ
[left bottom width height]
外側の境界の位置とサイズ。[left bottom width height]
の形式のベクトルとして指定します。このプロパティは、Figure の外側の境界によって囲まれる領域 (境界線、タイトル バー、メニュー バーおよびツール バーを含む) を定義します。
次の表で、ベクトルの各要素について説明します。
要素 | 説明 |
---|---|
left | プライマリ ディスプレイの左端から figure ウィンドウの外側の左端までの距離。この値は、複数のモニターがあるシステムでは負の値になる場合があります。 Figure がドッキングしている場合、この値は、MATLAB デスクトップ内の Figure パネルを基準にした値になります。 |
bottom | プライマリ ディスプレイの下端から figure ウィンドウの外側の下端までの距離。この値は、複数のモニターがあるシステムでは負の値になる場合があります。 Figure がドッキングしている場合、この値は、MATLAB デスクトップ内の Figure パネルを基準にした値になります。 |
width | figure の外側の左右の端の間の距離。 |
height | figure の外側の上下の端の間の距離。 |
すべての測定値は、Units
プロパティで指定した単位で表されます。
Figure がドッキングしているときには、Figure の OuterPosition
プロパティは指定できません。
メモ
Windows オペレーティング システムでは、最小ウィンドウ幅と最大ウィンドウ サイズが適用されます。これらの範囲を超える Figure サイズを指定した場合、表示される Figure は指定されたサイズではなく、これらの範囲に従います。
Clipping
— 子コンポーネントのクリップ (非推奨)
'on'
(既定値) | on/off logical 値
このプロパティは、Figure には影響しません。
Resize
— サイズ変更可能な Figure
'on'
(既定値) | on/off logical 値
サイズ変更可能な Figure、'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
このプロパティが 'on'
に設定されている場合、Figure はサイズ変更可能です。そうでない場合、サイズ変更はできません。
プロット
Colormap
— Figure の座標軸コンテンツに対するカラーマップ
parula (既定値) | m
行 3
列の RGB 3 成分配列
Figure の座標軸コンテンツのカラーマップ。m
種類の個別の色を定義する m
行 3
列の RGB (赤、緑、青) 3 成分配列として指定します。
例: figure('Colormap',[1 0 1; 0 0 1; 1 1 0])
は、カラーマップを、マゼンタ、青、黄の 3 色に設定します。
MATLAB は、行番号でこれらの色にアクセスします。
カラーマップは関数 surface
、image
および patch
によって作成されたオブジェクトのレンダリングに影響しますが、一般にその他のグラフィックス オブジェクトには影響しません。
Figure の Colormap
プロパティを設定した場合、Figure 内の座標軸とチャートは同じカラーマップを使用します。
Alphamap
— Axes
コンテンツの透明度マップ
0
から 1
の 64 値の配列 (既定値) | 0
から 1
の有限アルファ値の配列
Axes
コンテンツの透明度マップ。0
から 1
まで線形に増加する有限アルファ値の配列として指定します。配列のサイズは m 行 1 列または 1 行 m 列にすることができます。MATLAB は配列のインデックスを使用してアルファ値にアクセスします。Alphamap は、任意の長さに設定できます。
Alphamap は関数 surface
、image
および patch
によって作成されたオブジェクトのレンダリングに影響しますが、その他のグラフィックス オブジェクトには影響しません。
Figure の Alphamap
プロパティを設定した場合、Figure 内の座標軸とチャートは同じ alphamap を使用します。
NextPlot
— 次のプロットの追加方法の命令
'add'
(既定値) | 'new'
| 'replace'
| 'replacechildren'
次のプロットの追加方法の命令。'add'
、'new'
、'replace'
または 'replacechildren'
として指定します。
次の表では、それぞれの値の効果について説明します。
プロパティ値 | 効果 |
---|---|
'new' | 新規 Figure を作成し、現在の Figure として利用します。 |
'add' | 現在の Figure をクリアしたり、リセットすることなく、新しいグラフィックス オブジェクトを追加します。 |
'replacechildren' | 新しいオブジェクトを追加する前に、非表示になっていないすべての axes オブジェクトを削除します。Figure のプロパティをリセットしません。
|
'replace' | 新しいグラフィックス オブジェクトを追加する前に、すべての axes オブジェクトを削除し、Figure のプロパティを既定値にリセットします。
|
関数 newplot
を使用して NextPlot
プロパティを処理することを検討してください。詳細については、座標軸の NextPlot
プロパティとグラフの Figure および座標軸の準備を参照してください。
Renderer
— レンダラー
'opengl'
(既定値) | 'painters'
画面表示と印刷に使用されるレンダラー。次の値のいずれかとして指定します。
'opengl'
— OpenGL® レンダラー。このオプションを使用すると、MATLAB はシステムで利用可能なグラフィックス ハードウェアにアクセスできます。OpenGL レンダラーは、モニター上の表示と同様に、オブジェクトを前から後ろの順に並べ替えて表示します。線と面がモニター上の同一場所にある場合、常に線が面の前面に描画されます。'painters'
— Painters レンダラー。このオプションは、2 次元表示の座標軸で良好に機能します。2 次元では、Painters レンダラーは graphics オブジェクトを子の順序 (指定順序) で並べ替えます。3 次元では、Painters レンダラーはオブジェクトを手前から奥の順序で並べ替えます。ただし、3 次元では、交差する多角形が正しく描画されないことがあります。
メモ
Renderer
プロパティは将来のリリースで削除される予定です。詳細については、バージョン履歴を参照してください。
Renderer
プロパティの設定は MATLAB Online でサポートされていません。
OpenGL のハードウェアとソフトウェアの実装
OpenGL は、MATLAB を実行しているすべてのコンピューターで使用できます。これは、ソフトウェア版の OpenGL が MATLAB に組み込まれているためです。ただし、ハードウェア アクセラレータ版の OpenGL をサポートするグラフィックス ハードウェアがある場合、MATLAB は自動的にそのハードウェア アクセラレータ版を使用して、パフォーマンスを向上させます。
場合によっては、ハードウェア版の OpenGL が使用可能でも、MATLAB が自動的にソフトウェア版を使用することがあります。たとえば、既知のドライバーの問題があるグラフィックス ハードウェアを検出した場合、または Windows 上でバーチャル マシンやリモート デスクトップを使用していることを検出した場合、MATLAB はソフトウェア版を使用します。
MATLAB は、使用可能な OpenGL ライブラリを検出できない場合、警告を出力します。
ソフトウェア OpenGL の選択
ハードウェア版からソフトウェア版の OpenGL に切り替えるには、次を行います。
Linux システムでは、コマンド
matlab -softwareopengl
を使用して MATLAB を起動します。Windows システムでは、MATLAB 内でコマンド
opengl software
を実行するか、コマンドmatlab -softwareopengl
を使用して MATLAB を起動します。Macintosh システムでは、ソフトウェア版の OpenGL はサポートされていません。
以下のソフトウェア版を使用できます。
Linux システムでは、MATLAB は、配布されている MATLAB に含まれている OpenGL のソフトウェア実装を使用します。
Windows では、OpenGL をオペレーティング システムの一部として使用できます。OpenGL による問題が生じた場合には、使用しているグラフィックス ドライバーのベンダーに連絡し、最新の認定バージョンの OpenGL を入手してください。
Macintosh システムで、ソフトウェア版の OpenGL は使用できません。
OpenGL のライブラリ バージョンの確認
システム上で MATLAB が使用している OpenGL ライブラリのバージョンおよびベンダーを確認するには、関数 rendererinfo
を呼び出します。たとえば、次のコマンドは現在の座標軸の情報を取得し、info
という構造体に格納します。
info = rendererinfo(gca)
この構造体は、GraphicsRenderer
フィールドでグラフィックス レンダラーの名前も提供します。たとえば、MATLAB がハードウェア アクセラレータ版 OpenGL を使用している場合、フィールドは 'OpenGL Hardware'
を返します。MATLAB がソフトウェア版 OpenGL を使用している場合、フィールドは 'OpenGL Software'
を返します。
XServer 接続が失われた
Linux を使用しているときに XServer への接続が中断された場合、MATLAB はセグメンテーション違反によってクラッシュする可能性があります。これが発生した場合は、システムに最新の XServer がインストールされていることを確認してください。
Linux システムでは、OpenGL ドライバーのアップグレードを試行することも、次のコマンドを使用してソフトウェア版の OpenGL と共に MATLAB を起動することもできます。
matlab -softwareopengl
RendererMode
— レンダラーの選択
'auto'
(既定値) | 'manual'
レンダラーの選択。次のように指定します。
'auto'
— MATLAB は Figure 内のグラフィックス オブジェクトのサイズと複雑さに基づいて、印刷用と画面表示用のレンダリング手法を選択します。'manual'
— MATLAB はRenderer
プロパティで指定されたレンダラーを使用します。
Renderer
プロパティに明示的に 'painters'
または 'opengl'
を設定した場合、MATLAB は RendererMode
プロパティを 'manual'
に設定します。
メモ
RendererMode
プロパティは将来のリリースで削除される予定です。詳細については、バージョン履歴を参照してください。
GraphicsSmoothing
— 座標軸グラフィックスの平滑化
'on'
(既定値) | on/off logical 値
座標軸グラフィックスの平滑化。'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
平滑化によって座標軸グラフィックスのギザギザの線が少なくなります。MATLAB は GraphicsSmoothing
が 'on'
に設定され、次の条件のいずれかが真の場合に、座標軸グラフィックス (および座標軸のルーラー) に平滑化手法を適用します。
Renderer
プロパティは、'painters'
に設定されます。Renderer
プロパティが'opengl'
に設定され、ハードウェアのカードで OpenGL がサポートされている。
グラフィックスの平滑化 | グラフィックスの平滑化なし |
---|---|
|
|
(拡大表示)
| (拡大表示)
|
座標軸グラフィックスのほとんどが垂直または水平のラインの場合、GraphicsSmoothing
プロパティを 'on'
に設定し、ラインの AlignVertexCenters
プロパティを 'on'
に設定することを検討してください。平滑化手法では、平滑さが向上する代わりに鮮明さがある程度損なわれます。これは、鮮明なグラフィックスの場合、特に顕著に表れます。
グラフィックスの平滑化はテキストには影響しません。MATLAB は、GraphicsSmoothing
プロパティの値に関係なくテキストを平滑化します。
GraphicsSmoothing
プロパティの設定は MATLAB Online でサポートされていません。
メモ
GraphicsSmoothing
プロパティは将来のリリースで削除される予定です。このプロパティが削除されると、すべてのグラフィックスが滑らかになります。
印刷とエクスポート
PaperPosition
— 印刷時または保存時のページ上での Figure のサイズと位置
[left bottom width height]
の形式の 4 要素ベクトル
印刷時または保存時のページ上での Figure のサイズと位置。[left bottom width height]
の形式の 4 要素ベクトルとして指定します。
left
値とbottom
値 — ページの左下隅から Figure の左下隅までの距離を制御します。これらの値は、PNG 形式や EPS 形式など、ページのない形式で Figure を保存する場合は無視されます。width
値とheight
値 — Figure のサイズを制御します。幅と高さの値が大きすぎる場合、Figure が指定サイズに達しないことがあります。Figure が指定サイズに達しない場合、その Figure 上の UI コンポーネント (UI コントロールや UI テーブルなど) が期待どおりに保存または印刷されない場合があります。
PaperUnits
プロパティは、PaperPosition
値の測定単位を決定します。PaperUnits
プロパティを 'normalized'
に設定することを検討してください。この設定を使用すると、MATLAB は、ページ サイズにかかわらず印刷ページの相対的な占有サイズが同じになるように、Figure のサイズを自動的に調整します。
例: figure('PaperPosition',[.25 .25 8 6])
は、出力する Figure のサイズと位置を [.25 .25 8 6]
に設定します。
PaperPositionMode
— 印刷時または保存時に Figure の表示サイズを使用する命令
'auto'
(既定値) | 'manual'
印刷時または保存時に Figure の表示サイズを使用する命令。'auto'
または 'manual'
として指定します。
'auto'
— Figure の印刷サイズまたは保存サイズを Figure の表示サイズに一致させます。PaperPosition
プロパティのwidth
値とheight
値がディスプレイ上の Figure のサイズと等しくなります。left
とbottom
の値は、Figure が中央に配置される値になります。ディスプレイ上で Figure のサイズが変更された場合、PaperPosition
プロパティは適切なサイズと位置の値に自動的に更新されます。'manual'
— Figure の印刷サイズまたは保存サイズが Figure の表示サイズと一致しないことがあります。ディスプレイ上とは異なるサイズを使用して Figure の印刷や保存を行う場合、あるいは印刷ページや保存ページの中央に Figure を配置しない場合に、このオプションを使用します。PaperPosition
プロパティを目的のサイズと位置に設定します。ディスプレイ上の Figure のサイズが変更された場合、PaperPosition
プロパティは自動的に更新されません。
表示されている Figure と同じサイズと解像度 (DPI) をもつ出力を生成するには、Figure の PaperPositionMode
プロパティを 'auto'
に設定し、print
に -r0
オプションを指定して Figure を保存します。-r0
オプションを使用すると、出力の解像度がディスプレイの解像度と確実に同じになります。解像度が異なる場合、生成された出力のサイズは Figure の測定単位での表示サイズ (インチ、cm、ポイント) と一致しますが、ピクセル単位では一致しません。たとえば、ディスプレイの解像度が 100 DPI の場合、4 x 5 インチの Figure は 400 x 500 ピクセルです。出力の解像度が 200 DPI の場合、Figure の印刷サイズまたは保存サイズはインチ単位では同じサイズですが、800 x 1000 ピクセルになります。
PaperSize
— カスタム ページ サイズ
[width height]
の形式の 2 要素ベクトル
ページ付き形式 (PDF および PostScript® の形式) で Figure を印刷または保存するときのカスタム ページ サイズ。[width height]
の形式の 2 要素ベクトルとして指定します。米国での既定値は [8.5 11]
です。ヨーロッパおよびアジアでの既定値は [21 29.7]
です。
メモ
Figure をファイルに保存する場合、PaperSize
プロパティは PDF および PostScript のファイル形式にのみ作用します。その他のファイル形式では、このプロパティは無視されます。保存済みの Figure のサイズを制御するには、PaperPosition
プロパティを使用してください。
PaperUnits
プロパティは、PaperSize
プロパティの測定単位を決定します。PaperUnits
プロパティが 'normalized'
に設定されている場合、PaperSize
プロパティを設定することはできません。設定しようとするとエラーになります。
PaperSize
プロパティを指定すると、PaperType
プロパティが存在する場合は対応するタイプに設定され、それ以外の場合には 'custom'
に設定されます。
PaperUnits
— PaperSize
および PaperPosition
に使用される単位
'inches'
| 'centimeters'
| 'normalized'
| 'points'
PaperSize
および PaperPosition
に使用される単位。次のいずれかの値として指定します。
'inches'
— インチ単位の値。ロケールが米国の場合の既定値です。'normalized'
— 正規化された単位。ページの左下隅は(0,0)
にマッピングされ、右上隅は(1,1)
にマッピングされます。'centimeters'
— cm 単位の値。ロケールがヨーロッパまたはアジアの場合の既定値です。'points'
— ポイント単位の値。1 ポイントは 1/72 インチです。
メモ
PaperUnits
プロパティの値を変更した場合、PaperUnits
プロパティが変更されていないことを前提としている他の関数に影響を及ぼさないように、計算終了後に元の値に戻すことをお勧めします。
PaperOrientation
— ページの向き
'portrait'
(既定値) | 'landscape'
Figure をページ付き形式 (PDF および PostScript の形式) に印刷または保存するときのページの向き。次のいずれかの値として指定します。
'portrait'
— 用紙の長辺を縦方向にします。'landscape'
— 用紙の長辺を横方向にします。
詳細については、関数 orient
を参照してください。
メモ
[ファイル]、[名前を付けて保存] を使用する場合、PDF またはフル ページの PS 形式のみで PaperOrientation
プロパティが使用されます。その他の形式ではこれらの値が無視されます。
PaperType
— 標準ページ サイズ
'usletter'
| 'uslegal'
| 'tabloid'
| 'a0'
| 'a1'
| 'a2'
| 'a3'
| ...
ページ付き形式 (PDF および PostScript の形式) で Figure を印刷または保存するときの標準ページ サイズ。次の表のいずれかの値として指定します。PaperType
プロパティを指定すると、PaperSize
プロパティが対応するページ サイズに設定されます。
値 | ページ サイズ (幅 x 高さ) |
---|---|
| 8.5×11 インチ (米国での既定値) |
| 8.5×14 インチ |
| 11×17 インチ |
| 84.1 x 118.9 cm |
| 59.4 x 84.1 cm |
| 42×59.4 cm |
| 29.7×42 cm |
| 21×29.7 cm (ヨーロッパおよびアジアでの既定値) |
| 14.8×21 cm |
| 102.9 x 145.6 cm |
| 72.8 x 102.8 cm |
| 51.4 x 72.8 cm |
| 36.4 x 51.4 cm |
| 25.7 x 36.4 cm |
| 18.2 x 25.7 cm |
| 9 x 12 インチ |
| 12 x 18 インチ |
| 18 x 24 インチ |
| 24 x 36 インチ |
| 36 x 48 インチ |
| 8.5×11 インチ |
| 11×17 インチ |
| 17 x 22 インチ |
| 22 x 34 インチ |
| 34 x 43 インチ |
'<custom>' | カスタム ページ サイズ。 |
InvertHardcopy
— 印刷時または保存時の Figure の背景色
'on'
(既定値) | on/off logical 値
保存または印刷時の Figure の背景色。'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
'on'
— Figure の背景色および座標軸の背景色を白に変更します。生成出力の外観を向上させるために、Figure のテキストおよびその他の要素の色も変更されることがあります。'off'
— ディスプレイ上と同じ色を使用します。ディスプレイ上の Figure の背景色を変更するには、Figure のColor
プロパティを使用します。座標軸の背景色を変更するには、座標軸のColor
プロパティを使用します。
マウス ポインター
Pointer
— ポインター シンボル
'arrow'
(既定値) | 'ibeam'
| 'crosshair'
| 'watch'
| 'topl'
| 'custom'
| ...
ポインター シンボル。次の表の値のいずれかまたは 'custom'
として指定します。シンボルの外観はオペレーティングシステムによって異なります。
値 | 結果のシンボル (システム依存) |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
カスタム ポインター シンボル
カスタム ポインター シンボルを作成するには、プログラムにより Pointer
プロパティを 'custom'
に設定し、PointerShapeCData
プロパティを使用してシンボルを定義します。詳細については、PointerShapeCData
プロパティを参照してください。
制限
Pointer
プロパティで指定されるポインター シンボルは、関数 uihtml
で作成された HTML UI コンポーネントに表示されません。
PointerShapeCData
— カスタム ポインター シンボル
16 行 16 列の行列 (既定値) | 32 行 32 列の行列
カスタム ポインター シンボル。16 行 16 列の行列 (16 x 16 ピクセルのポインター) または 32 行 32 列の行列 (32 x 32 ピクセルのポインター) として指定します。Figure は、Pointer
プロパティが 'custom'
に設定されている場合にこのポインター シンボルを使用します。
行列の各要素が、ポインター内の 1 ピクセルの明度を定義します。要素は次の値のいずれかになります。
1
— 黒のピクセル。2
— 白のピクセル。NaN
— 透明なピクセル。下の画面をそのまま表示します。
行例の要素 (1,1)
が、ポインターの左上隅のピクセルに対応します。
PointerShapeHotSpot
— ポインターのアクティブなピクセル
[1 1]
(既定値) | 2 要素ベクトル
ポインターのアクティブなピクセル。2 要素ベクトルとして指定します。このベクトルには、目的のアクティブなピクセルに対応する PointerShapeCData
行列の特定要素の行と列のインデックスが含まれます。既定値 [1 1]
は、ポインターの左上隅のピクセルに対応します。
PointerShapeCData
行列の範囲外の値を指定すると、ポインターは、代わりに既定のアクティブなピクセル [1 1]
を使用します。
このプロパティは、Pointer
プロパティが 'custom'
に設定されている場合にのみ適用されます。
対話機能
Visible
— 可視性の状態
'on'
(既定値) | on/off logical 値
可視性の状態。'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
'on'
— オブジェクトを表示します。'off'
— オブジェクトを削除せずに非表示にします。非表示の UI コンポーネントのプロパティには引き続きアクセスできます。
アプリの起動を高速化するには、起動時に表示する必要のないすべてのコンポーネントの Visible
プロパティを 'off'
に設定します。
非表示のコンテナーのサイズを変更した場合、そのコンテナーが表示されるときに SizeChangedFcn
コールバックがトリガーされます。
コンテナーの Visible
プロパティを変更しても、子コンポーネントの Visible
プロパティの値は "変更されません"。これは、コンテナーを非表示にするとその子コンポーネントも非表示になる場合にも当てはまります。
CurrentAxes
— 現在の Figure のターゲットの座標軸
Axes
オブジェクト | PolarAxes
オブジェクト | グラフィックス オブジェクト
現在の Figure のターゲットの座標軸。Axes
オブジェクト、PolarAxes
オブジェクト、または HeatmapChart
などのグラフィックス オブジェクトとして指定します。
axes オブジェクトの子オブジェクトが存在するすべての Figure には、常に現在の座標軸があります。現在の座標軸は、最上層の座標軸でなくてもかまいません。また、ある座標軸を現在の座標軸に設定しても、他のすべての座標軸より上位に再スタックされることはありません。Figure に座標軸が含まれていない場合、get(gcf,'CurrentAxes')
コマンドは空の配列を返します。
座標軸が存在しない場合に座標軸の作成を強制せずに現在の axes オブジェクトを取得するには、CurrentAxes
プロパティをクエリします。
CurrentObject
— 現在のオブジェクト
Figure の子オブジェクト
現在のオブジェクト。Figure の子オブジェクトとして返されます。MATLAB は CurrentObject
プロパティを Figure 内でクリックした最後のオブジェクトに設定します。これは、最前面に表示されるオブジェクトです。
子オブジェクトの HitTest
プロパティは、そのオブジェクトが CurrentObject
になることができるかどうかを制御します。
HandleVisibility
プロパティが 'off'
であるオブジェクトをクリックすると、CurrentObject
プロパティが空の GraphicsPlaceholder
配列に設定されます。ユーザーが非表示のオブジェクトをクリックしたときに空の配列を返さないようにするには、非表示のオブジェクトの HitTest
プロパティを 'off'
に設定します。
このプロパティの値を取得するための代替方法として gco
コマンドを使用します。
CurrentPoint
— 現在の点
2 要素ベクトル
現在の点。2 要素ベクトルとして返されます。このベクトルには、Figure の左下隅から測定したマウス ポインターの (x, y) 座標が含まれます。値は、Units
プロパティで指定した単位で表されます。
この座標は、以下のいずれかを実行すると更新されます。
Figure 内でマウス ボタンを押す。
Figure 内でマウス ボタンを押した後に離す。
Figure 内でマウス ボタンを押して、Figure の外で離す。
Figure 内でスクロール ホイールを回転させる。
WindowButtonMotionFcn
プロパティが空でない場合に、Figure 内で (ボタンを押さずに) マウスを動かす。
マウス操作に応答するコールバックが Figure にある場合、システムのコード実行速度より速くそのコールバックがトリガーされると、座標が実際のポインターの位置を正確に反映しない可能性があります。代わりに、座標はコールバックの実行開始時点の位置になります。
CurrentPoint
プロパティを使用して点をプロットする場合、座標値に丸め誤差が含まれることがあります。
CurrentCharacter
— 現在の文字
''
(既定値) | 文字
現在の文字。最後に押されたキーの文字として返されます。このプロパティは、ユーザーがキーを押した時点で Figure にフォーカスがある場合に更新されます。
Selected
— 選択状態 (非推奨)
'off'
(既定値) | on/off logical 値
メモ
Selected
プロパティの動作は R2014b で変更されており、推奨されません。このタイプのオブジェクトには何も影響しなくなりました。このプロパティは将来のリリースで削除される可能性があります。
SelectionHighlight
— 選択ハンドルの表示 (非推奨)
'on'
(既定値) | on/off logical 値
メモ
SelectionHighlight
プロパティの使用は推奨されていません。このプロパティは、Figure には影響しません。このプロパティは将来のリリースで削除される可能性があります。
SelectionType
— マウスの選択タイプ
'normal'
(既定値) | 'extend'
| 'alt'
| 'open'
マウスの選択タイプ。'normal'
、'extend'
、'alt'
、または 'open'
として返されます。このプロパティは Figure 内で最後に押されたマウス ボタンの情報を提供します。
次の表は、SelectionType
の取り得る値と、これらの値を生成するユーザー アクションの一覧です。
値 | 対応するアクション |
---|---|
| 左マウス ボタンをクリック |
| 以下のいずれか:
|
| 以下のいずれか:
|
| 任意のマウス ボタンをダブルクリック |
ContextMenu
— コンテキスト メニュー
空の GraphicsPlaceholder
配列 (既定値) | ContextMenu
オブジェクト
コンテキスト メニュー。関数 uicontextmenu
を使用して作成された ContextMenu
オブジェクトとして指定します。このプロパティは、コンポーネントを右クリックしたときにコンテキスト メニューを表示するために使用します。
共通コールバック
ButtonDownFcn
— ボタンダウン コールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ボタンダウン コールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは Figure の空白の領域をクリックしたときに必ず実行されます。
コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。
ユーザーが修飾キーを押したかどうかを判定するには、SelectionType
プロパティを使用します。
CreateFcn
— コンポーネント作成関数
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
コンポーネント作成関数。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。
このプロパティは、MATLAB がコンポーネントを作成するときに実行されるコールバック関数を指定します。MATLAB は CreateFcn
コールバックを実行する前に、コンポーネントのすべてのプロパティ値を初期化します。CreateFcn
プロパティを指定しない場合、MATLAB は既定の作成関数を実行します。
作成中のコンポーネント オブジェクトを取得するには、CreateFcn
コード内で関数 gcbo
を使用します。
既存のコンポーネント オブジェクトに CreateFcn
プロパティを設定しても効果はありません。
DeleteFcn
— コンポーネント削除関数
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
コンポーネント削除関数。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。
DeleteFcn
プロパティは、MATLAB がコンポーネントを削除するときに実行されるコールバック関数を指定します (ユーザーがウィンドウを閉じるときなど)。MATLAB はコンポーネント オブジェクトのプロパティを破棄する前に DeleteFcn
コールバックを実行します。DeleteFcn
プロパティを指定しない場合、MATLAB は既定の削除関数を実行します。
削除中のコンポーネント オブジェクトを取得するには、DeleteFcn
コード内で関数 gcbo
を使用します。
キーボード コールバック
KeyPressFcn
— キーを押したときのコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
キーを押したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数は、Figure または子オブジェクトにフォーカスのあるときにユーザーがキーを押すと実行されます。ユーザーが UIControl
または Table
コンポーネント上でキーを押した場合、Enable
プロパティが 'off'
または 'inactive'
に設定されていない限りコールバックは実行されません。
ユーザーが複数のキーをほぼ同時に押すと、MATLAB はすべてのキーを検知します。
KeyPressFcn
コールバックは、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData
オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、このオブジェクトのプロパティを示します。
プロパティ | 説明 | 例: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 1 つ以上のキーを押した結果として表示される文字。 特定のキーを押すか、または Ctrl キーを使用して修飾キーを押すと、出力できない文字がこのプロパティに返される可能性があります。 特定のキー (Ctrl、Alt、Shift など) のみを押しても、 | 'a' | '=' | '' | 'A' |
Modifier | 押された修飾キーの名前 ( | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 押されたキー。キー上の小文字のラベル ( | 'a' | 'equal' | 'shift' | 'a' |
Source | キーが押されたときにフォーカスがあるオブジェクト。 | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト |
EventName | コールバック関数を実行する原因となったアクションです。 | 'KeyPress' | 'KeyPress' | 'KeyPress' | 'KeyPress' |
KeyPressFcn
コールバックはライブ エディターではサポートされていません。
コールバック プロパティ値の指定とコールバック引数の使用の詳細については、コールバック関数の指定を参照してください。
CurrentCharacter
プロパティは文字情報も返します。
KeyReleaseFcn
— キーを離したときのコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
キーを離したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数は、Figure または子オブジェクトにフォーカスのあるときにユーザーがキーを押すと実行されます。ユーザーが UIControl
または Table
コンポーネント上でキーを離した場合、Enable
プロパティが 'off'
または 'inactive'
に設定されていない限りコールバックは実行されません。
KeyReleaseFcn
コールバックは、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData
オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、このオブジェクトのプロパティを示します。
プロパティ | 説明 | 例: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 離された 1 つ以上のキーに対応する文字。 特定のキーを押すか、または Ctrl キーを使用して修飾キーを押すと、出力できない文字がこのプロパティに返される可能性があります。 特定のキー (Ctrl、Alt、Shift など) のみを押してから離しても、 | 'a' | '=' | '' | 'A' |
Modifier | 押された修飾キーの名前 ( | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 離されたキー。キー上の小文字のラベル ( | 'a' | 'equal' | 'shift' | 'a' |
Source | キーが離されたときにフォーカスがあるオブジェクト。 | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト |
EventName | コールバック関数を実行する原因となったアクションです。 | 'KeyRelease' | 'KeyRelease' | 'KeyRelease' | 'KeyRelease' |
KeyReleaseFcn
コールバックはライブ エディターではサポートされていません。
コールバック プロパティ値の指定とコールバック引数の使用の詳細については、コールバック関数の指定を参照してください。
ウィンドウのコールバック
CloseRequestFcn
— クローズ要求のコールバック
'closereq'
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
クローズ要求のコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。
このコールバックは、ユーザーが Figure ウィンドウを閉じようとするときに必ず実行されます。たとえば、ダイアログ ボックスを表示して、閉じる操作の確定またはキャンセルをユーザーに求めたり、UI を含む Figure を閉じる操作をユーザーからはできないようにしたりできます。
基本的なメカニズムは以下のとおりです。
ユーザーがコマンド ラインから
close
コマンドまたはclose all
コマンドを発行するか、コンピューターのウィンドウ マネージャー メニューから Figure を閉じるか、MATLAB を終了して Figure を閉じます。閉じる操作によって、Figure の
CloseRequestFcn
プロパティで定義された関数が実行されます。既定値は'closereq'
です。操作'closereq'
は、Figure を無条件で削除し、ウィンドウを破棄します。
クローズ要求関数が関数 delete
または関数 close
を呼び出さない限り、MATLAB がこの Figure を閉じることはありません。(非破壊的なクローズ要求関数をもつウィンドウを作成した場合は、コマンド ラインから delete(f)
を呼び出すことができます)。
例: ダイアログ ボックスを表示する CloseRequestFcn
のコーディング
この例では、閉じる操作の確認をユーザーに求める質問ダイアログ ボックスを表示するようにクローズ要求関数をコーディングする方法について説明します。次のコードをシステムの書き込み可能なフォルダーに保存します。
function my_closereq(src,event) % 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_closereq
を CloseRequestFcn
に指定して Figure を作成します。関数ハンドルは入力引数を明示的に参照しませんが、関数宣言には 2 つの入力引数が含まれることに注意してください。MATLAB では、コールバックの実行時にこれらの引数が自動的に渡されます。最初の引数はコールバックをトリガーした UI コンポーネントで、2 番目の引数はコールバック関数にイベント データを提供します。
figure('CloseRequestFcn',@my_closereq)
Figure ウィンドウを閉じると質問のダイアログ ボックスが表示されます。
SizeChangedFcn
— サイズ変更のコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
サイズ変更のコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数を定義して、このコンテナーのサイズが変更されたときに (ユーザーがウィンドウのサイズを変更した場合など)、アプリのレイアウトをカスタマイズします。
SizeChangedFcn
コールバックは、次の場合に実行されます。
このコンテナーがはじめて表示される。
このコンテナーがサイズ変更中に表示される。
このコンテナーがサイズ変更後にはじめて表示される。この状況は、コンテナーが非表示の間にサイズが変更され、その後表示される場合に発生します。
SizeChangedFcn
コールバックを定義するときに検討しなければならないその他の重要な点は、次のとおりです。
SizeChangedFcn
が使用する変数がすべて定義されるまで、このコンテナーの表示を遅延させることを検討します。これにより、SizeChangedFcn
コールバックがエラーを返すのを防ぐことができます。コンテナーの表示を遅延させるには、Visible
プロパティを'off'
に設定します。SizeChangedFcn
コールバックが使用する変数を定義した後で、Visible
プロパティを'on'
に設定します。入れ子にされたコンテナーがアプリに含まれる場合、コンテナーのサイズは内側から順に変更されます。
サイズを変更しているコンテナーに
SizeChangedFcn
内からアクセスするには、ソース オブジェクト (コールバック内の最初の入力引数) を参照するか、関数gcbo
を使用します。
ヒント
SizeChangedFcn
コールバックを指定する代わりの簡単な方法として、コンテナーの中に入れるすべてのオブジェクトの Units
プロパティを 'normalized'
に設定できます。これにより、これらのコンポーネントがコンテナーに比例してスケールされます。
例: 一定の高さをもつ編集フィールド
SizeChangedFcn
コールバックを使用して、UI コンポーネントのサイズを制限します。たとえば、次のコードは、ウィンドウの上部に編集フィールドをもつ UI を作成します。ユーザーがウィンドウのサイズを変更するときに、関数 sbar
はその高さを 20 ピクセルまでに制限します。また、この関数は編集フィールドの幅を Figure の幅に設定します。ドット表記を使用してプロパティを設定およびクエリします。
function myui f = figure('Visible','off','SizeChangedFcn',@sbar); u = uicontrol('Style','edit','Tag','StatusBar'); f.Visible = 'on'; function sbar(src,event) old_units = src.Units; src.Units = 'pixels'; sbar_units = u.Units; u.Units = 'pixels'; fpos = src.Position; upos = [1 fpos(4) - 20 fpos(3) 20]; u.Position = upos; u.Units = sbar_units; src.Units = old_units; u.Visible = 'on'; end end
sbar
の関数ハンドルは入力引数を明示的に参照しませんが、関数宣言には 2 つの入力引数が含まれることに注意してください。MATLAB では、コールバックの実行時にこれらの引数が自動的に渡されます。最初の引数はコールバックをトリガーした UI コンポーネントで、2 番目の引数はコールバック関数にイベント データを提供します。
WindowButtonDownFcn
— ウィンドウ ボタンダウン コールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ウィンドウ ボタンダウン コールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは、ユーザーが Figure またはその子オブジェクトのいずれかの内部で、任意の場所をクリックしたときに実行されます。ユーザーが UIControl
または Table
コンポーネントをクリックした場合、Enable
プロパティが 'off'
または 'inactive'
に設定されていない限りコールバックは実行されません。
コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。
WindowButtonMotionFcn
— ウィンドウ ボタンを移動したときのコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ウィンドウ ボタンを移動したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
通常、ユーザーがポインターを Figure 内で動かすと、このコールバック関数が必ず実行されます。ただし、ユーザーがマウス ボタンを押したままにして、ポインターを Figure の外に移動すると、ポインターが Figure の外にある間に WindowButtonMotionFcn
コールバックが実行されます。
コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。
例: 簡単な描画アプリ
この例では、WindowButtonMotionFcn
コールバックを使用する描画アプリの作成方法を説明します。次のコードをコピーしてエディターに貼り付け、実行します。次にマウスを使用して、接続した一連の線分を描画します。
座標軸内でクリックしてドラッグし、最初の線分を描画します。
再度クリックして、その線分のアンカー ポイントを定義します。
マウスを動かして他の線分を追加します。
右クリックして描画モードを終了します。
function drawing_app figure('WindowButtonDownFcn',@wbdcb) ah = axes('SortMethod','childorder'); axis ([1 10 1 10]) title('Click and drag') function wbdcb(src,event) seltype = src.SelectionType; if strcmp(seltype,'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,event) cp = ah.CurrentPoint; xdat = [xinit,cp(1,1)]; ydat = [yinit,cp(1,2)]; hl.XData = xdat; hl.YData = ydat; drawnow end function wbucb(src,event) last_seltype = src.SelectionType; if strcmp(last_seltype,'alt') src.Pointer = 'arrow'; src.WindowButtonMotionFcn = ''; src.WindowButtonUpFcn = ''; else return end end end end
コールバック関数ハンドルは入力引数を明示的に参照しませんが、関数宣言には 2 つの入力引数が含まれることに注意してください。MATLAB では、コールバックの実行時にこれらの引数が自動的に渡されます。最初の引数はコールバックをトリガーした UI コンポーネントで、2 番目の引数はコールバック関数にイベント データを提供します。
WindowButtonUpFcn
— ウィンドウ ボタンアップ コールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ウィンドウ ボタンアップ コールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは、ユーザーが Figure またはその子オブジェクトのいずれかの内部で、マウス ボタンを任意の場所で離したときに実行されます。ユーザーが UIControl
または Table
コンポーネント上でマウス ボタンを離した場合、Enable
プロパティが 'off'
または 'inactive'
に設定されていない限りコールバックは実行されません。
ボタンアップ アクションは、Figure 内でのボタンダウン アクションと関連付けられています。マウス ポインターは、ボタンダウン アクションの発生時には Figure 内になければなりませんが、ボタンアップ アクションの発生時には Figure の外にあっても構いません。
コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。
WindowKeyPressFcn
— ウィンドウ キーを押したときのコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ウィンドウ キーを押したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数は、Figure または子オブジェクトにフォーカスのあるときにユーザーがキーを押すと実行されます。
このコールバック関数は、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData
オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、このオブジェクトのプロパティを示します。
プロパティ | 説明 | 例: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 1 つ以上のキーを押した結果として表示される文字。 特定のキーを押すか、または Ctrl キーを使用して修飾キーを押すと、出力できない文字がこのプロパティに返される可能性があります。 特定のキー (Ctrl、Alt、Shift など) のみを押しても、 | 'a' | '=' | '' | 'A' |
Modifier | 押された修飾キーの名前 ( | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 押されたキー。キー上の小文字のラベル ( | 'a' | 'equal' | 'shift' | 'a' |
Source | キーが押されたときにフォーカスがあるオブジェクト。 | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト |
EventName | コールバック関数を実行する原因となったアクションです。 | 'WindowKeyPress' | 'WindowKeyPress' | 'WindowKeyPress' | 'WindowKeyPress' |
WindowKeyPressFcn
コールバックはライブ エディターではサポートされていません。
コールバック プロパティ値の指定とコールバック引数の使用の詳細については、コールバック関数の指定を参照してください。
WindowKeyReleaseFcn
— ウィンドウ キーを離したときのコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ウィンドウ キーを離したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数は、Figure または子オブジェクトにフォーカスがあるときにユーザーがキーを離すと実行されます。
このコールバック関数は、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData
オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、このオブジェクトのプロパティを示します。
プロパティ | 説明 | 例: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 離された 1 つ以上のキーに対応する文字。 特定のキーを押すか、または Ctrl キーを使用して修飾キーを押すと、出力できない文字がこのプロパティに返される可能性があります。 特定のキー (Ctrl、Alt、Shift など) のみを押してから離しても、 | 'a' | '=' | '' | 'A' |
Modifier | 押された修飾キーの名前 ( | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 離されたキー。キー上の小文字のラベル ( | 'a' | 'equal' | 'shift' | 'a' |
Source | キーが離されたときにフォーカスがあるオブジェクト。 | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト |
EventName | コールバック関数を実行する原因となったアクションです。 | 'WindowKeyRelease' | 'WindowKeyRelease' | 'WindowKeyRelease' | 'WindowKeyRelease' |
WindowKeyReleaseFcn
コールバックはライブ エディターではサポートされていません。
コールバック プロパティ値の指定とコールバック引数の使用の詳細については、コールバック関数の指定を参照してください。
WindowScrollWheelFcn
— ウィンドウ スクロール ホイール コールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ウィンドウ スクロール ホイール コールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは、Figure または子オブジェクトのいずれかにフォーカスのあるときにユーザーがスクロール ホイールを動かすと実行されます。ただし、スクロール ホイールの動作が他のオブジェクトでキャプチャされ、このコールバックの実行が妨げられる場合があります。
このコールバックの実行は、CurrentObject
および SelectionType
プロパティに影響しません。
WindowScrollWheelFcn
コールバックは、ユーザーがスクロール ホイールを回転させたときに特定の情報にアクセスできます。MATLAB はこの情報を ScrollWheelData
オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、ScrollWheelData
オブジェクトのプロパティを示します。
プロパティ | 内容 |
---|---|
VerticalScrollCount | スクロール ホイールのクリックの方向と回数を示す正または負の数値。下にスクロールすると正の値が返されます。上にスクロールすると負の値が返されます。 垂直方向のスクロール カウントは、前回のコールバック実行後に発生したスクロール ホイールのすべてのクリック回数の合計です。通常、この値は |
VerticalScrollAmount | スクロール ホイールの各クリックでスクロールした行数。通常、この値は |
Source | コールバックを実行するオブジェクト。 |
EventName | 'WindowScrollWheel' |
WindowScrollWheelFcn
コールバックはライブ エディターではサポートされていません。
コールバック プロパティ値の指定とコールバック引数の使用の詳細については、コールバック関数の指定を参照してください。
例: x 軸の範囲を変更するアプリ
この例では、プロットを表示するアプリの作成方法を説明します。ユーザーは、スクロールによって x 軸の範囲を変更できます。次のコードをコピーしてエディターに貼り付け、実行します。
function scroll_wheel % Shows 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,event) if event.VerticalScrollCount > 0 xd = h.XData; inc = xd(end)/20; x = [0:.1:xd(end)+inc]; re_eval(x) elseif event.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 function re_eval(x) y = 4.*cos(x)./(x+2); h.YData = y; h.XData = x; a.XLim = [0 x(end)]; drawnow end end
figScroll
の関数ハンドルは入力引数を明示的に参照しませんが、関数宣言には 2 つの入力引数が含まれることに注意してください。MATLAB では、コールバックの実行時にこれらの引数が自動的に渡されます。最初の引数はコールバックをトリガーした UI コンポーネントで、2 番目の引数はコールバック関数にイベント データを提供します。
ResizeFcn
— サイズ変更のコールバック関数 (非推奨)
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
サイズ変更のコールバック関数。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
ResizeFcn
コールバックはライブ エディターではサポートされていません。
メモ
ResizeFcn
プロパティの使用は推奨されていません。将来のリリースで削除される可能性があります。代わりに SizeChangedFcn
を使用してください。
データ型: function_handle
| cell
| char
コールバック実行制御
Interruptible
— コールバックの割り込み
'on'
(既定値) | on/off logical 値
コールバックの割り込み。'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
Interruptible
プロパティは実行中のコールバックが割り込み可能かどうかを決定します。次の 2 つのコールバックの状態について考慮する必要があります。
"実行中" コールバックは、現在実行しているコールバックです。
"割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。
MATLAB がコールバックを呼び出すたびに、そのコールバックは実行中のコールバック (がある場合) に割り込もうとします。実行中のコールバックを所有するオブジェクトの Interruptible
プロパティが、割り込み可能かどうかを決定します。
値が
'on'
の場合、他のコールバックがオブジェクトのコールバックに割り込むことができます。drawnow
、figure
、getframe
、waitfor
、pause
などの、MATLAB が次にキューを処理するポイントで割り込みが発生します。実行中のコールバックにこれらいずれかのコマンドが含まれている場合、MATLAB はその場所でコールバックの実行を停止し、割り込みコールバックを実行します。割り込みコールバックが完了したときに MATLAB は実行中だったコールバックの実行を再開します。
実行中のコールバックにこれらのコマンドが含まれていない場合、MATLAB はそのコールバックの実行を中断せずに終了させます。
値が
'off'
の場合、割り込みの試行はすべてブロックされます。割り込みコールバックを所有するオブジェクトのBusyAction
プロパティが、その割り込みコールバックを破棄するかキューに入れるかを決定します。
メモ
コールバックの割り込みと実行は、以下の状況では動作が異なります。
割り込みコールバックが
DeleteFcn
、CloseRequestFcn
またはSizeChangedFcn
コールバックの場合、Interruptible
プロパティの値にかかわらず割り込みが発生します。実行中のコールバックが関数
waitfor
を現在実行している場合、Interruptible
プロパティの値にかかわらず割り込みが発生します。Timer
オブジェクトは、Interruptible
プロパティ値にかかわらず、スケジュールに従って実行されます。MATLAB は、割り込みが発生したときにプロパティの状態や表示を保存しません。たとえば、
gca
コマンドやgcf
コマンドから返されたオブジェクトは、別のコールバックを実行するときに変更されている可能性があります。
Interruptible
プロパティおよび BusyAction
プロパティがプログラムの動作に及ぼす影響を示す例は、コールバック実行への割り込みを参照してください。
BusyAction
— コールバック キューイング
'queue'
(既定値) | 'cancel'
コールバック キューイング。'queue'
(既定値) または 'cancel'
として指定します。BusyAction
プロパティは MATLAB による割り込みコールバックの実行の処理方法を決定します。次の 2 つのコールバックの状態について考慮する必要があります。
"実行中" コールバックは、現在実行しているコールバックです。
"割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。
割り込みコールバックの割り込み元の BusyAction
プロパティは、MATLAB が割り込みコールバックの実行を処理する方法を決定します。BusyAction
プロパティは次の値をとります。
'queue'
— 割り込みコールバックをキューに入れ、実行中のコールバックが終了した後に処理されるようにします。'cancel'
— 割り込みコールバックを実行しません。
MATLAB がコールバックを呼び出すたびに、そのコールバックは実行中のコールバックに割り込もうとします。コールバックを実行中のオブジェクトの Interruptible
プロパティが、割り込み可能かどうかを決定します。Interruptible
は次のように設定します。
on
— MATLAB が次にキューを処理するポイントで割り込みが発生します。これは既定値です。off
— 割り込みコールバックを所有するオブジェクトのBusyAction
プロパティによって、MATLAB が割り込みコールバックをキューに追加するか無視するかを決定します。
BusyAction
プロパティおよび Interruptible
プロパティがプログラムの動作に及ぼす影響を示す例は、コールバック実行への割り込みを参照してください。
HitTest
— 現在のオブジェクトになる能力
'on'
(既定値) | on/off logical 値
現在のオブジェクトになる能力。'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
'on'
— ユーザーが実行中のアプリでコンポーネントをクリックしたときに、現在のオブジェクトをFigure
に設定します。関数Figure
および関数gco
の両方のCurrentObject
プロパティは、現在のオブジェクトとしてFigure
を返します。'off'
— ユーザーが実行中のアプリ内で Figure をクリックしたときに、現在のオブジェクトは更新されません。
BeingDeleted
— 削除状態
on/off logical 値
この プロパティ は読み取り専用です。
削除状態。matlab.lang.OnOffSwitchState
型の on/off logical 値として返されます。
MATLAB は、DeleteFcn
コールバックが実行を開始すると、BeingDeleted
プロパティを 'on'
に設定します。コンポーネント オブジェクトが存在しなくなるまで BeingDeleted
プロパティは 'on'
に設定されたままです。
クエリや変更の前にオブジェクトが削除されようとしていないか確認するために BeingDeleted
プロパティの値をチェックします。
親/子
Parent
— Figure の親
root オブジェクト
Figure の親。root オブジェクトとして返されます。
Children
— figure の子
空の GraphicsPlaceholder
配列 (既定値) | 1 次元のオブジェクト配列
Figure
の子。空の GraphicsPlaceholder
または 1 次元のオブジェクト配列として返されます。
Children
プロパティを使用して子の追加や削除を行うことはできません。このプロパティは、子のリストの参照や子の並べ替えに使用します。子の順序は、画面上のコンポーネントの前から後ろへの順序 (スタック順序) を反映します。MATLAB では、特定オブジェクトの順序を変更できない場合があります。たとえば、UIControl
オブジェクトと Legend
オブジェクトは必ず Axes
オブジェクトの前にあります。
このリストに子を追加するには、子コンポーネントの Parent
プロパティを Figure
オブジェクトに設定します。
HandleVisibility
プロパティが 'off'
に設定されているオブジェクトは Children
プロパティにリストされません。
HandleVisibility
— figure オブジェクトの可視性
'on'
(既定値) | 'callback'
| 'off'
figure オブジェクトの可視性。'on'
、'callback'
または 'off'
として指定します。
このプロパティは、figure が親 (root) オブジェクトの子のリストに含まれるかどうかを決定します。HandleVisibility
は、ユーザー インターフェイス コンポーネント (ダイアログ ボックスなど) のみを含む Figure 内にコマンド ラインから誤って描画したり、Figure を削除することを防ぐ場合に有効です。
オブジェクトが親オブジェクトの子のリストに含まれていない場合、オブジェクト階層を探索してオブジェクトを検出する関数やプロパティのクエリによってこのオブジェクトが返されることはありません。このような関数には、get
、findobj
、gca
、gcf
、gco
、newplot
、cla
、clf
、close
などがあります。
HandleVisibility
プロパティの値が 'callback'
または 'off'
の設定によって制限されている場合、そのオブジェクトは親オブジェクトの Children
プロパティに出現せず、Figure はルートの CurrentFigure
プロパティに出現せず、オブジェクトはルートの CallbackObject
プロパティまたは Figure の CurrentObject
プロパティに出現せず、座標軸は親の CurrentAxes
プロパティに出現しません。
ルートの ShowHiddenHandles
プロパティを 'on'
に設定すると、個々のオブジェクトの HandleVisibility
の設定にかかわらず、すべてのオブジェクトが可視になります。これによって HandleVisibility
プロパティの値が影響を受けることはありません。
識別子
Name
— 名前
''
(既定値) | 文字ベクトル | string スカラー
Figure の名前。文字ベクトルまたは string スカラーとして指定します。
例: figure('Name','Results')
は、Figure の名前を 'Results'
に設定します。
既定の名前は 'Figure n'
です。ここで、n
は整数です。Name
プロパティを指定した場合、Figure のタイトルは 'Figure n: name'
になります。Name
の値のみを表示する場合は、IntegerHandle
または NumberTitle
を 'off'
に設定します。
Number
— 番号
整数 | []
この プロパティ は読み取り専用です。
Figure の番号。整数または空の配列として返されます。この値を使用して Figure を参照できます。たとえば、figure(2)
を指定すると、Number
プロパティ値 2
をもつ Figure が現在の Figure になります。
IntegerHandle
プロパティが 'off'
に設定されている場合、Number
プロパティは空になります。
IntegerHandle
が 'on'
の場合、Number
プロパティは整数です。Figure を削除すると、MATLAB はその番号を次の Figure に再利用します。
NumberTitle
— 番号タイトルの使用
'on'
(既定値) | on/off logical 値
数値タイトル。'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
このプロパティを 'on'
に設定すると、Figure のタイトルに 'Figure n'
という語句が含まれます。ここで、n
は Number
プロパティの値です。
番号をタイトルに表示するには、NumberTitle
と IntegerHandle
が両方とも 'on'
に設定されていなければなりません。
IntegerHandle
— 整数ハンドルの使用
'on'
(既定値) | on/off logical 値
整数ハンドルの使用。'on'
または 'off'
、もしくは数値または logical 1
(true
) or 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
IntegerHandle
プロパティを 'on'
に設定した場合、MATLAB は既存の Figure によって使用されていない最小の整数値を探して、Number
プロパティをその値に設定します。Figure を削除した場合、MATLAB はその番号を新しい Figure で再利用できます。
IntegerHandle
プロパティを 'off'
に設定した場合、MATLAB はその Figure に整数値を割り当てず、Number
プロパティを空の配列に設定します。
タイトル バーに Figure 番号を表示するには、IntegerHandle
と NumberTitle
が両方とも 'on'
に設定されていなければなりません。
FileName
— ファイル名
文字ベクトル | string スカラー
Figure を保存するファイル名。文字ベクトルまたは string スカラーとして指定します。GUIDE はこのプロパティを使用して、保存する UI レイアウト ファイルの名前を格納します。
例: figure('FileName','myfile.fig')
はファイル名を myfile.fig
に設定します。
Type
— Figure オブジェクトのタイプ
'figure'
この プロパティ は読み取り専用です。
Figure オブジェクトのタイプ。'figure'
として返されます。このプロパティを使用して、プロット階層内にある特定のタイプのすべてのオブジェクトを見つけます。
Tag
— オブジェクト識別子
''
(既定値) | 文字ベクトル | string スカラー
オブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。オブジェクトの識別子として機能する一意の Tag
値を指定できます。コードの他の部分からオブジェクトにアクセスする必要がある場合、関数 findobj
を使用して Tag
値に基づいてオブジェクトを検索できます。
UserData
— ユーザー データ
[]
(既定値) | 配列
ユーザー データ。任意の配列として指定します。UserData
を指定すると、アプリ内でデータを共有するのに役立ちます。詳細については、コールバック間のデータ共有を参照してください。
バージョン履歴
R2006a より前に導入R2023b: GraphicsSmoothing
プロパティは将来のリリースで削除予定
GraphicsSmoothing
プロパティは将来のリリースで削除される予定です。このプロパティが削除されると、すべてのグラフィックスが滑らかになります。
R2022a: Renderer
プロパティと RendererMode
プロパティは将来のリリースにおいて効果なし
Figure の Renderer
プロパティと RendererMode
プロパティは、将来のリリースにおいて効果がなくなります。これらのプロパティが無効になると、レンダラーを変更する必要はなくなります。
R2020a: UIContextMenu
プロパティは非推奨
R2020a 以降、コンテキスト メニューをグラフィックス オブジェクトまたは UI コンポーネントに割り当てる UIContextMenu
プロパティの使用は推奨されなくなりました。代わりに、ContextMenu
プロパティを使用してください。プロパティ値は同じです。
現在のところ、UIContextMenu
プロパティのサポートを削除する予定はありません。ただし、UIContextMenu
プロパティは、グラフィカル オブジェクトまたは UI コンポーネントで関数 get
を呼び出して返されるリストに表示されなくなります。
R2016a: PaperPositionMode
の既定値を 'auto'
に変更
PaperPositionMode
プロパティの既定値が 'auto'
に変更されました。従来の既定値は 'manual'
でした。
既定値を変更するには、root オブジェクトの既定値を変更します。この値の設定は、現在の MATLAB セッションの新しい Figure のみに適用され、たとえば次のようになります。
set(groot,'defaultFigurePaperPositionMode','manual')
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)