Figure
Figure ウィンドウ
説明
Figure は、グラフィックスまたはアプリのコンテナーです。Figure オブジェクトを使用して、Figure の作成後に Figure の外観と動作を変更します。
作成
Figure オブジェクトは、次のようにいくつかの方法で作成できます。
Figure の作成方法によって、Figure オブジェクトの既定のプロパティ値が影響を受けます。詳細については、figure を使用して作成された Figure と uifigure を使用して作成された Figure の相違点を参照してください。
プロパティ
ウィンドウの外観
背景色。RGB 3 成分、16 進数カラー コード、または表にリストされた色オプションのいずれかとして指定します。
カスタム色を使用する場合は、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" | 該当なし | 該当なし | 該当なし | 色なし |
次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。
| パレット | パレットの色 |
|---|---|
R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。 |
|
|
|
orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。
ウィンドウ スタイル。次の値のいずれかとして指定します。
'docked'— Figure がより大きなコンテナーにドッキングされます。この値はfigure関数を使用して作成された Figure の既定値です。これらの Figure は既定で Figure コンテナーにドッキングされます。WindowStyleプロパティをクエリすると、Figure がデスクトップまたは Figure コンテナーにドッキングされている場合、プロパティは'docked'を返します。ただし、WindowStyleプロパティを'docked'に設定すると、Figure はデスクトップにドッキングされます。'normal'— 他の MATLAB® ウィンドウから独立したスタンドアロンのウィンドウに Figure が表示されます。この値はuifigure関数を使用して作成された Figure の既定値です。'modal'— 通常のウィンドウ スタイルをもつ既存のすべての Figure ウィンドウの前面に Figure が表示されます。この最前面に表示された Figure が存在してモーダルな状態である限り、既存のウィンドウへのアクセスはできなくなります。複数のモーダルなウィンドウが存在する場合、最後に作成されたウィンドウがフォーカスされ、他のすべてのウィンドウの前面に表示されます。この状態は、不可視になるか、通常のウィンドウ スタイルに戻るか、削除されるまで継続します。継続が終了した場合、フォーカスは、最後にフォーカスされたウィンドウに戻ります。
'alwaysontop'— モーダルな Figure ウィンドウや MATLAB 以外のアプリケーションのウィンドウを含む、他のすべてのウィンドウの前面に Figure が表示されます。他のウィンドウには引き続きアクセスできます。
ドッキングされた Figure の位置を指定すると、自動的に Figure がアンドックされ、WindowStyle プロパティは 'normal' に設定されます。
メモ
WindowStyle プロパティにはいくつかの重要な特徴と推奨されるベスト プラクティスがあります。
アプリ用の Figure を作成するときは、
WindowStyleプロパティを指定します。さらに Figure のResizeプロパティまたはPositionプロパティも設定する場合は、WindowStyleプロパティを最初に設定します。Figure の
WindowStyleプロパティは、Figure が可視な場合や子オブジェクトを含む場合を含め、いつでも変更できます。ただし、一部のシステムではノーマル ウィンドウとモーダル ウィンドウの実装によっては、このプロパティを設定することで、Figure の点滅や非表示後に再表示される現象が発生する場合もあります。視覚的に最良な結果を得るには、WindowStyleプロパティの設定は、Figure の作成時または非表示のときに行います。
モーダル ウィンドウ スタイルの動作
WindowStyle が 'modal' に設定されている場合、Figure ウィンドウが可視である限り、Figure ウィンドウはすべての MATLAB ウィンドウ上のすべてのキーボード操作とマウス操作をトラップします。MATLAB 以外のアプリケーションのウィンドウには影響しません。
モーダルな Figure にフォーカスがあるときに Ctrl+C を押すと、その Figure の WindowStyle プロパティは 'normal' に設定されます。この操作により、ユーザーはコマンド ラインで入力できるようになります。
WindowStyle プロパティが 'modal' に、Visible プロパティが 'off' に設定された Figure は、MATLAB が表示しない限りモーダル動作になりません。このためモーダル ウィンドウを破棄する代わりに、後で再利用するために非表示にすることができます。
モーダルな Figure はメニューの子、組み込みのメニュー、ツール バーを表示しません。しかし、モーダルな Figure 内にメニューを作成したり、メニューの子をもつ Figure で WindowStyle プロパティの設定を 'modal' に変更したりするのは誤りではありません。その Menu オブジェクトは存在し、Figure はそれを維持します。Figure の WindowStyle プロパティを 'normal' にリセットすると、そのメニューが表示されます。
ウィンドウの状態。次の値のいずれかとして指定します。
'normal'— ウィンドウが標準の状態で表示されます。'minimized'— ウィンドウが折りたたまれます。ただし、プロパティの取得や設定、子の追加、ウィンドウでのプロットの作成などのコマンドは引き続き実行できます。'maximized'— ウィンドウが全画面表示になります。オペレーティング システムから提供される最小化ボタン、元に戻すボタン、閉じるボタンがウィンドウの隅に表示されます。標準の状態のウィンドウにメニューがある場合、それらのメニューはこの状態でも表示されます。'fullscreen'— ウィンドウが全画面表示になります。ただし、オペレーティング システムから提供される最小化ボタン、元に戻すボタン、閉じるボタンは非表示になります。標準の状態のウィンドウにメニューがある場合、それらのメニューはこの状態でも表示されます。
ドッキングされた Figure でこのプロパティを設定すると、Figure がアンドックされ、WindowState プロパティが 'normal' に設定されます。
オペレーティング システムから提供される最小化ボタン、元に戻すボタン、閉じるボタンをクリックすると、それに応じて WindowState プロパティが設定されます。Ctrl+F11 キー (Windows® および Linux®) または Ctrl+Command+F キー (macOS) を押すと、'fullscreen' の状態が切り替わります。
MATLAB Online™ での WindowState プロパティの設定はサポートされていません。
Figure のメニュー バー表示。'none' または 'figure' として指定します。MenuBar プロパティによって、Figure ウィンドウ上部にある既定のメニューを表示または非表示にできます。メニュー バーを表示するには 'figure' を指定します。非表示にするには 'none' を指定します。
figure 関数を使用して作成された Figure の場合、MenuBar プロパティを 'figure' に設定すると、Figure がアンドックされ、ツールストリップがウィンドウから削除されます。
このプロパティは既定のメニューにのみ影響し、uimenu 関数によって作成されたメニューには影響しません。
メニュー バーは、WindowStyle プロパティが 'modal' に設定されている Figure には表示されません。メニューの子を含む Figure が 'modal' に変更された場合、そのメニューの子は Figure の Children プロパティ内に存在したままになります。ただし、WindowStyle が 'modal' に設定されている間、このメニューは表示されません。
Figure のツール バー表示。次の値のいずれかとして指定します。
'none'— ツール バーを表示しません。'figure'— ツール バーを表示します。'auto'—MenuBarプロパティと同じ値を使用します。
figure 関数を使用して作成された Figure の場合、ToolBar プロパティを 'figure' に設定すると、Figure がアンドックされ、ツールストリップがウィンドウから削除されます。
ツール バーは、WindowStyle プロパティが 'modal' に設定されている Figure には表示されません。ツール バーを含む Figure が 'modal' に変更された場合、そのツール バーの子は Figure の Children プロパティ内に存在したままになります。ただし、WindowStyle が 'modal' に設定されている間、このツール バーは表示されません。
対話型の Figure のドッキング。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は、matlab.lang.OnOffSwitchState 型の on/off の logical 値として保存されます。
次のリストは、それぞれの値の動作を示しています。
'on'— MATLAB は、Figures ツールストリップまたはメニュー バー内の [Figure をドックに入れる] ボタン
を有効にします (Figure にある場合)。このボタンをクリックすると、Figure が MATLAB デスクトップにドッキングされます。'off'— MATLAB は、[Figure をドックに入れる] ボタンを無効にします。WindowStyleが'docked'に設定されている場合には、DockControlsプロパティを'off'に設定できません。
R2025a 以降
グラフィックス テーマ。"light"、"dark"、または GraphicsTheme オブジェクトとして指定します。GraphicsTheme オブジェクトとして格納されます。
| ライト テーマの外観 | ダーク テーマの外観 |
|---|---|
|
|
Theme プロパティを設定する代わりとして、theme 関数を呼び出すことができます。
現在のテーマがライト テーマまたはダーク テーマのどちらであるかを判定するには、Theme プロパティをクエリして GraphicsTheme オブジェクトを取得します。次に、GraphicsTheme オブジェクトの BaseColorStyle プロパティをクエリします。この 2 回目のクエリは、'light' または 'dark' の値を返します。
f = figure; gtobject = f.Theme; figtheme = gtobject.BaseColorStyle
R2025a 以降
グラフィックス テーマの選択。次の値のいずれかとして指定します。
"auto"— MATLAB の [設定] ウィンドウで指定された Figure のテーマを使用します。既定では、Figure のテーマはMATLAB Desktopに設定され、すべての Figure のテーマが MATLAB デスクトップのテーマに一致するように設定されます。"manual"—Themeプロパティで指定されたテーマを使用し、MATLAB デスクトップのテーマが変更された場合でも、Figure のテーマを変更しません。
(たとえば、Theme プロパティを設定するか、theme 関数を呼び出すことにより) テーマを明示的に設定すると、ThemeMode プロパティは自動的に "manual" に変更されます。
位置とサイズ
境界線、Figure ツール、タイトル バーを除く Figure の位置とサイズ。[left bottom width height] の形式の 4 要素ベクトルとして指定します。
次の表で、ベクトルの各要素について説明します。
| 要素 | 説明 |
|---|---|
left | プライマリ ディスプレイの左端から、ウィンドウ内側の左端までの距離。この値は、複数のモニターのあるシステム上では負の値になる場合もあります。 Figure がドッキングしている場合、この値はコンテナーを基準にした値になります。 |
bottom | プライマリ ディスプレイの下端から、ウィンドウ内側の下端までの距離。この値は、複数のモニターのあるシステム上では負の値になる場合もあります。 Figure がドッキングしている場合、この値はコンテナーを基準にした値になります。 |
width | ウィンドウ内側の左右の端の距離。 |
height | ウィンドウ内側の上下の端の距離。 |
すべての測定値は、Units プロパティで指定した単位で表されます。
Figure コンテナーにドッキングされた Figure の場合、Position プロパティを設定すると Figure がアンドックされ、WindowStyle プロパティが 'normal' に設定されます。
境界線、Figure ツール、タイトル バーを含むウィンドウ全体を配置するには、OuterPosition プロパティを使用します。
メモ
Windows オペレーティング システムでは、最小ウィンドウ幅と最大ウィンドウ サイズが適用されます。これらの範囲を超える Figure サイズを指定した場合、表示される Figure は指定されたサイズではなく、これらの範囲に従います。
測定の単位。次の表のいずれかの値として指定します。
| 単位の値 | 説明 |
|---|---|
'pixels' (既定) | ピクセル。 Windows システムおよび Macintosh システムでは、ピクセルのサイズは 1/96 インチです。このサイズはシステムの解像度に依存しません。 Linux システムでは、ピクセルのサイズは使用しているシステムの解像度によって決まります。 |
'normalized' | これらの単位は親コンテナーを基準として正規化されます。コンテナーの左下隅が (0,0) で、右上隅が (1,1) になります。 |
'inches' | インチ。 |
'centimeters' | センチメートル。 |
'points' | ポイント。1 ポイントは 1/72 インチです。 |
'characters' | これらの単位は、グラフィックス ルート オブジェクトの既定の
既定の |
MATLAB ではすべての単位を親オブジェクトの左下隅から測定します。
メモ
App Designer はピクセル単位のみをサポートします。App Designer で親コンテナーに対し相対的サイズをもつコンテナーを作成するには、グリッド レイアウト マネージャーを使用するか、または自動リフロー機能付きのアプリを作成します。詳細については、App Designer でのサイズ変更可能アプリの管理を参照してください。
このプロパティは Position プロパティに影響します。Units プロパティを変更した場合、この既定値を想定する他の関数に影響を与えないように、計算の完了後に値を既定値に戻すことを検討してください。
Units プロパティと Position プロパティを指定する順序は次のように影響します。
Positionプロパティの前にUnitsプロパティを指定する場合、MATLAB は指定した単位を使用してPositionを設定します。Positionプロパティの後にUnitsプロパティを指定する場合、MATLAB は既定のUnitsを使用して位置を設定します。その後、MATLAB はPositionの値を、指定した単位における等価の値に変換します。
境界線、Figure ツール、タイトル バーを除く Figure の位置とサイズ。[left bottom width height] の形式の 4 要素ベクトルとして指定します。すべての測定値は、Units プロパティで指定した単位で表されます。
このプロパティ値は、Position プロパティ値と同一です。
境界線、Figure ツール、タイトル バーを含む Figure の位置とサイズ。[left bottom width height] の形式の 4 要素ベクトルとして指定します。
次の表で、ベクトルの各要素について説明します。
| 要素 | 説明 |
|---|---|
left | プライマリ ディスプレイの左端から Figure ウィンドウの外側の左端までの距離。この値は、複数のモニターのあるシステム上では負の値になる場合もあります。 Figure がドッキングしている場合、この値はコンテナーを基準にした値になります。 |
bottom | プライマリ ディスプレイの下端から Figure ウィンドウの外側の下端までの距離。この値は、複数のモニターのあるシステム上では負の値になる場合もあります。 Figure がドッキングしている場合、この値はコンテナーを基準にした値になります。 |
width | ウィンドウの外側の左右の端の間の距離。 |
height | ウィンドウの外側の上下の端の間の距離。 |
すべての測定値は、Units プロパティで指定した単位で表されます。
Figure コンテナーにドッキングされた Figure の場合、OuterPosition プロパティを設定すると Figure がアンドックされ、WindowStyle プロパティが 'normal' に設定されます。
メモ
Windows オペレーティング システムでは、最小ウィンドウ幅と最大ウィンドウ サイズが適用されます。これらの範囲を超える Figure サイズを指定した場合、表示される Figure は指定されたサイズではなく、これらの範囲に従います。
サイズ変更可能な Figure、'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
このプロパティが 'on' に設定されている場合、Figure はサイズ変更可能です。そうでない場合、サイズ変更はできません。
Figure コンテナーにドッキングされた Figure の場合、Resize プロパティを設定すると Figure がアンドックされ、WindowStyle プロパティが 'normal' に設定されます。
子のサイズの自動変更。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
'on'— コンテナーのサイズが変更されると、子コンポーネントのサイズが自動的に変更されます。この値はuifigure関数を使用して作成された Figure の既定値です。'off'— 子コンポーネントのサイズは変更されません。この値はfigure関数を使用して作成された Figure の既定値です。
AutoResizeChildren プロパティはコンテナーの直接の子に影響します。入れ子にされたコンテナー内の子には影響しません。
AutoResizeChildren が 'on' の場合でも、一部の子コンポーネントのサイズは自動的に変更されません。たとえば、サイズ変更されないコンポーネントのみを含むラベル、ボタン、およびコンテナーのサイズは変更されません。
サイズ変更の動作をカスタマイズするには、グリッド レイアウト マネージャーをコンテナーに追加するか、AutoResizeChildren プロパティを 'off' に設定して、コンテナーの SizeChangedFcn コールバックを作成します。詳細については、App Designer でのサイズ変更可能アプリの管理を参照してください。
アプリのサイズ変更を無効にするには、Figure の Resize プロパティを 'off' に設定します。
AutoResizeChildren を 'on' として指定するのは、ピクセル単位を使用してレイアウトされるアプリのみにすることをお勧めします。ピクセル単位以外を使用してレイアウトされるアプリで自動サイズ変更を有効にすると、予期しない動作が生じる可能性があります。
プロット
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 内の座標軸とチャートは同じカラーマップを使用します。
座標軸コンテンツに対する透過性マップ。0 から 1 まで線形に増加する有限アルファ値の配列として指定します。配列のサイズは m 行 1 列または 1 行 m 列にすることができます。MATLAB は配列のインデックスを使用してアルファ値にアクセスします。Alphamap は、任意の長さに設定できます。
Alphamap は関数 surface、image および patch によって作成されたオブジェクトのレンダリングに影響しますが、その他のグラフィックス オブジェクトには影響しません。
Figure の Alphamap プロパティを設定した場合、Figure 内の座標軸とチャートは同じ alphamap を使用します。
次のプロットの追加方法の命令。'add'、'new'、'replace' または 'replacechildren' として指定します。
このプロパティは、Figure が現在の Figure になることができる場合 (つまり、Figure の HandleVisibility プロパティが "on" の場合) のみ有効です。
次の表では、それぞれの値の効果について説明します。
| プロパティ値 | 効果 |
|---|---|
'new' | 新規 Figure を作成し、現在の Figure として利用します。 |
'add' | 現在の Figure をクリアしたり、リセットすることなく、新しいグラフィックス オブジェクトを追加します。 |
'replacechildren' | 新しいオブジェクトを追加する前に、非表示になっていないすべての axes オブジェクトを削除します。Figure のプロパティをリセットしません。
|
'replace' | 新しいグラフィックス オブジェクトを追加する前に、すべての axes オブジェクトを削除し、Figure のプロパティを既定値にリセットします。
|
関数 newplot を使用して NextPlot プロパティを処理することを検討してください。詳細については、座標軸の NextPlot プロパティとグラフの Figure および座標軸の準備を参照してください。
印刷とエクスポート
印刷時または保存時のページ上での 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] に設定します。
印刷時または保存時に 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 ピクセルになります。
ページ付き形式 (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' に設定されます。
PaperSize および PaperPosition に使用される単位。次のいずれかの値として指定します。
'inches'— インチ単位の値。ロケールが米国の場合の既定値です。'normalized'— 正規化された単位。ページの左下隅は(0,0)にマッピングされ、右上隅は(1,1)にマッピングされます。'centimeters'— cm 単位の値。ロケールがヨーロッパまたはアジアの場合の既定値です。'points'— ポイント単位の値。1 ポイントは 1/72 インチです。
メモ
PaperUnits プロパティの値を変更した場合、PaperUnits プロパティが変更されていないことを前提としている他の関数に影響を及ぼさないように、計算終了後に元の値に戻すことをお勧めします。
Figure をページ付き形式 (PDF および PostScript の形式) に印刷または保存するときのページの向き。次のいずれかの値として指定します。
'portrait'— 用紙の長辺を縦方向にします。'landscape'— 用紙の長辺を横方向にします。
詳細については、関数 orient を参照してください。
メモ
[ファイル]、[名前を付けて保存] を使用する場合、PDF またはフル ページの PS 形式のみで PaperOrientation プロパティが使用されます。その他の形式ではこれらの値が無視されます。
ページ付き形式 (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>' | カスタム ページ サイズ。 |
マウス ポインター
ポインター シンボル。次の表の値のいずれかまたは 'custom' として指定します。シンボルの外観はオペレーティングシステムによって異なります。
値 | 結果のシンボル (システム依存) |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
カスタム ポインター シンボル
カスタム ポインター シンボルを作成するには、プログラムにより Pointer プロパティを 'custom' に設定し、PointerShapeCData プロパティを使用してシンボルを定義します。詳細については、PointerShapeCData プロパティを参照してください。
制限
Pointer プロパティで指定されるポインター シンボルは、関数 uihtml で作成された HTML UI コンポーネントに表示されません。
カスタム ポインター シンボル。16 行 16 列の行列 (16 x 16 ピクセルのポインター) または 32 行 32 列の行列 (32 x 32 ピクセルのポインター) として指定します。Figure は、Pointer プロパティが 'custom' に設定されている場合にこのポインター シンボルを使用します。
行列の各要素が、ポインター内の 1 ピクセルの明度を定義します。要素は次の値のいずれかになります。
1— 黒のピクセル。2— 白のピクセル。NaN— 透明なピクセル。下の画面をそのまま表示します。
行例の要素 (1,1) が、ポインターの左上隅のピクセルに対応します。
ポインターのアクティブなピクセル。2 要素ベクトルとして指定します。このベクトルには、目的のアクティブなピクセルに対応する PointerShapeCData 行列の特定要素の行と列のインデックスが含まれます。既定値 [1 1] は、ポインターの左上隅のピクセルに対応します。
PointerShapeCData 行列の範囲外の値を指定すると、ポインターは、代わりに既定のアクティブなピクセル [1 1] を使用します。
このプロパティは、Pointer プロパティが 'custom' に設定されている場合にのみ適用されます。
対話機能
可視性の状態。'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 プロパティの値は "変更されません"。これは、コンテナーを非表示にするとその子コンポーネントも非表示になる場合にも当てはまります。
現在の Figure のターゲットの座標軸。Axes オブジェクト、UIAxes オブジェクト、PolarAxes オブジェクト、または HeatmapChart などのグラフィックス オブジェクトとして指定します。
axes オブジェクトの子オブジェクトが存在するすべての Figure には、常に現在の座標軸があります。現在の座標軸は、最上層の座標軸でなくてもかまいません。また、ある座標軸を現在の座標軸に設定しても、他のすべての座標軸より上位に再スタックされることはありません。Figure に座標軸が含まれていない場合、get(gcf,'CurrentAxes') コマンドは空の配列を返します。
座標軸が存在しない場合に座標軸の作成を強制せずに現在の axes オブジェクトを取得するには、CurrentAxes プロパティをクエリします。
現在のオブジェクト。Figure の子オブジェクトとして返されます。MATLAB は CurrentObject プロパティを Figure 内でクリックした最後のオブジェクトに設定します。これは、最前面に表示されるオブジェクトです。
子オブジェクトの HitTest プロパティは、そのオブジェクトが CurrentObject になることができるかどうかを制御します。
HandleVisibility プロパティが 'off' であるオブジェクトをクリックすると、CurrentObject プロパティが空の GraphicsPlaceholder 配列に設定されます。ユーザーが非表示のオブジェクトをクリックしたときに空の配列を返さないようにするには、非表示のオブジェクトの HitTest プロパティを 'off' に設定します。
このプロパティの値を取得するための代替方法として gco コマンドを使用します。
現在の点。2 要素ベクトルとして返されます。このベクトルには、Figure の左下隅から測定したマウス ポインターの (x, y) 座標が含まれます。値は、Units プロパティで指定した単位で表されます。Figure がスクロール可能な場合、座標はスクロール可能領域の左下隅から測定されます。スクロール可能領域は、スクロール バーの範囲で囲まれた領域です。
この座標は、以下のいずれかを実行すると更新されます。
Figure 内でマウス ボタンを押す。
Figure 内でマウス ボタンを押した後に離す。
Figure 内でマウス ボタンを押して、Figure の外で離す。
Figure 内でスクロール ホイールを回転させる。
WindowButtonMotionFcnプロパティが空でない限り、Figure 内で (ボタンを押さずに) マウスを動かす。
マウス操作に応答するコールバックが Figure にある場合、システムのコード実行速度より速くそのコールバックがトリガーされると、座標が実際のポインターの位置を正確に反映しない可能性があります。代わりに、座標はコールバックの実行開始時点の位置になります。
CurrentPoint プロパティを使用して点をプロットする場合、座標値に丸め誤差が含まれることがあります。
現在の文字。最後に押されたキーの文字として返されます。このプロパティは、ユーザーがキーを押した時点で Figure にフォーカスがある場合に更新されます。
マウスの選択タイプ。'normal'、'extend'、'alt'、または 'open' として返されます。このプロパティは Figure 内で最後に押されたマウス ボタンの情報を提供します。
次の表は、SelectionType の取り得る値と、これらの値を生成するユーザー アクションの一覧です。
値 | 対応するアクション |
|---|---|
| 左マウス ボタンをクリック |
| 以下のいずれか:
|
| 以下のいずれか:
|
| 任意のマウス ボタンをダブルクリック |
スクロール機能。'off' または 'on'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
このプロパティを 'on' に設定すると、コンテナー内でのスクロールが有効になります。ただし、以下の追加要件があります。
コンテナー内の子コンポーネントは、コンテナーが一度に表示できるよりも大きい領域を占めていなければならない。
コンテナーに収まらないコンポーネントは、コンテナーより上または右になければならない。コンテナーより下または左にあるコンポーネントにスクロールすることはできません。
コンテナーにグリッド レイアウト マネージャーが含まれている場合、コンテナーの
Scrollableプロパティには何の効果もありません。スクロールを有効にするには、代わりにGridLayoutオブジェクトのScrollableプロパティを'on'に設定します。
特定のタイプのチャートと座標軸では、スクロール可能なコンテナーはサポートされていません。ただし、チャートや座標軸をスクロール不可能なパネル内に配置してから、そのパネルをスクロール可能なコンテナーに配置することはできます。詳細については、App Designer でのグラフィックスの表示を参照してください。
コンテキスト メニュー。関数 uicontextmenu で作成された ContextMenu オブジェクトとして指定します。このプロパティは、Figure を右クリックしたときにコンテキスト メニューを表示するために使用します。
共通コールバック
R2025a 以降
テーマが変更されたときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは、Figure のテーマが変更されたときに実行されます。たとえば、このコールバックは次のすべての状況で実行されます。
theme関数を呼び出すか、FigureオブジェクトのThemeプロパティを設定することにより、プログラムでテーマを変更した場合Figure ツールストリップを使用して Figure のテーマを変更した場合
MATLAB の設定で別のテーマを適用し、それによって Figure のテーマが変更された場合
このコールバック関数は、Figure のテーマの変更に関する特定の情報にアクセスできます。MATLAB は、この情報を ThemeChangedData オブジェクトに格納して、通常、event として指定される 2 番目の引数としてコールバック関数に渡します。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.Theme は新しい Figure のテーマを GraphicsTheme オブジェクトとして返します。ThemeChangedData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。
次の表に、ThemeChangedData オブジェクトのプロパティを示します。
| プロパティ | 値 |
|---|---|
Theme | 新しい Figure のテーマ。
themeobj = event.Theme; themeval = themeobj.BaseColorStyle; |
PreviousTheme | 以前の Figure のテーマ。
themeobj = event.PreviousTheme; themeval = themeobj.BaseColorStyle; |
Source | コールバックを実行する Figure オブジェクト |
EventName | 'ThemeChanged' |
コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。
ボタンダウン コールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは、ユーザーが Figure の空白領域をクリックすると実行されます。
コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。
ユーザーが修飾キーを押したかどうかを判定するには、SelectionType プロパティを使用します。
オブジェクト作成関数。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックを参照してください。
このプロパティは、MATLAB がオブジェクトを作成するときに実行されるコールバック関数を指定します。MATLAB は CreateFcn コールバックを実行する前に、すべてのプロパティ値を初期化します。CreateFcn プロパティを指定しない場合、MATLAB は既定の作成関数を実行します。
既存のコンポーネントに CreateFcn プロパティを設定しても効果はありません。
このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、作成中のオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。
オブジェクト削除関数。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックを参照してください。
このプロパティは、MATLAB がオブジェクトを削除するときに実行されるコールバック関数を指定します。MATLAB は、オブジェクトのプロパティを破棄する前に DeleteFcn コールバックを実行します。DeleteFcn プロパティを指定しない場合、MATLAB は既定の削除関数を実行します。
このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、削除されるオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。
キーボード コールバック
キーを押したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数は、Figure にフォーカスのあるときにユーザーがキーを押すと実行されます。コンポーネントが無効になっている場合を除き、キーボード フォーカスを受け入れる UI コンポーネント (編集フィールドなど) の上でキーを押しても、コールバックは実行されません。Enable または Editable プロパティを 'off' に設定すると、コンポーネントを無効にできます。また、Enable プロパティを 'inactive' に設定すると、Table または UIControl コンポーネントをグレー表示せずに無効にできます。
ユーザーが複数のキーをほぼ同時に押すと、MATLAB はすべてのキーを検知します。
KeyPressFcn コールバックは、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、KeyData オブジェクトのプロパティを示します。
| プロパティ | 説明 | 例: | |||
|---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 1 つ以上のキーを押した結果として表示される文字。 特定のキー (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' |
コールバック プロパティ値の指定とコールバック引数の使用の詳細については、コールバック関数の指定を参照してください。
CurrentCharacter プロパティは文字情報も返します。
キーを離したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数は、Figure にフォーカスがあるときにユーザーがキーを離すと実行されます。コンポーネントが無効になっている場合を除き、キーボード フォーカスを受け入れるコンポーネント (編集フィールドなど) の上でキーを離しても、コールバックは実行されません。Enable または Editable プロパティを 'off' に設定すると、コンポーネントを無効にできます。また、Enable プロパティを 'inactive' に設定すると、Table または UIControl コンポーネントをグレー表示せずに無効にできます。
このコールバック関数は、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、KeyData オブジェクトのプロパティを示します。
| プロパティ | 説明 | 例: | |||
|---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 離された 1 つ以上のキーに対応する文字。 特定のキー (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' |
コールバック プロパティ値の指定とコールバック引数の使用の詳細については、コールバック関数の指定を参照してください。
ウィンドウのコールバック
クローズ要求のコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。
アプリ ユーザーがアプリを閉じようとすると、MATLAB はこのコールバックを実行します。たとえば、閉じる操作の確定またはキャンセルをアプリ ユーザーに要求するダイアログ ボックスを表示するように、コールバックを記述できます。
CloseRequestFcn コールバックの既定値の 'closereq' は、Figure を無条件で削除し、ウィンドウを破棄します。
CloseRequestFcn コールバックで Figure を閉じるには、関数 delete を呼び出すことを検討します。
App Designer で、
delete(app)を呼び出します。他の Figure の場合は、
delete(f)を呼び出します。ここで、fはFigureオブジェクトです。
CloseRequestFcn コールバックに delete コマンドが含まれない場合、MATLAB がウィンドウを閉じることはありません。関数 delete をいつでも呼び出して、ウィンドウを強制的に閉じることができます。
例: ダイアログ ボックスを表示する CloseRequestFcn のコーディング
この例では、閉じる操作の確認をユーザーに求める確認ダイアログ ボックスを表示するようにクローズ要求関数をコーディングする方法について説明します。次のコードをシステムの書き込み可能なフォルダーに保存します。
function myCloseReq(src,event) selection = uiconfirm(src,'Close this figure?',... 'Confirm Close'); switch selection case 'OK' delete(src) case 'Cancel' return end end
次に、Figure を作成し、myCloseReq を CloseRequestFcn に指定します。関数ハンドルは入力引数を明示的に参照しませんが、関数宣言には 2 つの入力引数が含まれることに注意してください。MATLAB では、コールバックの実行時にこれらの引数が自動的に渡されます。最初の引数はコールバックをトリガーした UI コンポーネントで、2 番目の引数はコールバック関数にイベント データを提供します。
uifigure('CloseRequestFcn',@myCloseReq);Figure ウィンドウを閉じると確認のダイアログ ボックスが表示されます。
サイズ変更のコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数を定義して、この Figure のサイズが変更されたときに (たとえば、ウィンドウのサイズを変更した場合など)、Figure コンテンツのレイアウトをカスタマイズします。コールバックで、子コンポーネントの Position プロパティを調整するコードを記述します。
メモ
SizeChangedFcn コールバックは、Figure の AutoResizeChildren プロパティが 'off' に設定されていない限り実行されません。App Designer で、コンテナーを選択し、[コンポーネント ブラウザー] のコンポーネントのタブで [AutoResizeChildren] チェック ボックスをオフにすると、SizeChangedFcn を実行可能にできます。
SizeChangedFcn コールバックは、次の場合に実行されます。
Figure が初めて表示された。
Figure がサイズ変更中に表示された。
Figure がサイズ変更後に初めて表示された。この状況は、Figure が非表示の間にサイズが変更され、その後表示される場合に発生します。
SizeChangedFcn コールバックを定義するときに検討しなければならないその他の重要な点は、次のとおりです。
SizeChangedFcnが使用する変数がすべて定義されるまで、Figure の表示を遅延させることを検討します。これにより、SizeChangedFcnコールバックがエラーを返すのを防ぐことができます。Figure の表示を遅延させるには、Visibleプロパティを'off'に設定します。SizeChangedFcnコールバックが使用する変数を定義した後で、Visibleプロパティを'on'に設定します。入れ子にされたコンテナーが Figure に含まれる場合、コンテナーのサイズは内側から順に変更されます。
サイズを変更している Figure に
SizeChangedFcn内からアクセスするには、ソース オブジェクト (コールバック内の最初の入力引数) を参照します。
サイズ変更動作を指定する別の方法は、GridLayout オブジェクトを作成するか、App Designer で自動リフロー オプションを使用することです。これらのオプションは SizeChangedFcn コールバックより使いやすくなっています。ただし、SizeChangedFcn コールバックにはこれらのオプションに勝る利点があります。たとえば、SizeChangedFcn コールバックを使用できます。
定義する最小サイズまでまたは最大サイズまで、コンポーネントのサイズを変更する。
非線形のサイズ変更動作を実装する。
ウィンドウ ボタンダウン コールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは、ユーザーが次のいずれかの場所をクリックすると実行されます。
Figure の空白領域
Figure 内の UI コンポーネント
ButtonDownFcnプロパティをサポートする Figure 内のグラフィックス オブジェクトUIAxesオブジェクト
たとえば、Axes オブジェクトをクリックすると WindowButtonDownFcn コールバックがトリガーされます。
ユーザーが Table コンポーネントをクリックした場合、テーブルの Enable プロパティが 'off' または 'inactive' に設定されていない限りコールバックは実行されません。
ButtonDownFcn プロパティがサポートされているかどうかを判断するには、特定のグラフィックス オブジェクトのプロパティのリストを参照してください。グラフィックス オブジェクトのプロパティについては、グラフィックス オブジェクトのプロパティを参照してください。
コールバックのプロパティ値を関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックまたはプログラムで作成したアプリ用のコールバックの作成を参照してください。
ウィンドウ ボタンを移動したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
通常、ユーザーがポインターを Figure 内で動かすと、このコールバック関数が必ず実行されます。ただし、ユーザーがマウス ボタンを押したままにして、ポインターを Figure の外に移動すると、ポインターが Figure の外にある間に WindowButtonMotionFcn コールバックが実行されます。
コールバックのプロパティ値を関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックまたはプログラムで作成したアプリ用のコールバックの作成を参照してください。
ウィンドウ ボタンアップ コールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは、ユーザーが次のいずれかの場所でマウス ボタンを離したときに実行されます。
Figure の空白領域
Figure 内の UI コンポーネント
ButtonDownFcnプロパティをサポートする Figure 内のグラフィックス オブジェクトUIAxesオブジェクト
たとえば、axes オブジェクト上でマウス ボタンを離すと、WindowButtonUpFcn コールバックがトリガーされます。
ユーザーが Table コンポーネント上でマウス ボタンを離した場合、テーブルの Enable プロパティが 'off' または 'inactive' に設定されていない限りコールバックは実行されません。
ButtonDownFcn プロパティがサポートされているかどうかを判断するには、特定のグラフィックス オブジェクトのプロパティのリストを参照してください。グラフィックス オブジェクトのプロパティについては、グラフィックス オブジェクトのプロパティを参照してください。
ボタンアップ アクションは、Figure 内でのボタンダウン アクションと関連付けられています。マウス ポインターは、ボタンダウン アクションの発生時には Figure 内になければなりませんが、ボタンアップ アクションの発生時には Figure の外にあっても構いません。
コールバックのプロパティ値を関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックまたはプログラムで作成したアプリ用のコールバックの作成を参照してください。
ウィンドウ キーを押したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数は、Figure または子コンポーネントにフォーカスがあるときにユーザーがキーを押すと実行されます。ユーザーが複数のキーをほぼ同時に押すと、MATLAB はすべてのキーを検知します。
このコールバック関数は、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、KeyData オブジェクトのプロパティを示します。
| プロパティ | 説明 | 例: | |||
|---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 1 つ以上のキーを押した結果として表示される文字。 特定のキー (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' |
コールバック プロパティ値の指定とコールバック引数の使用の詳細については、App Designer のコールバックまたはプログラムで作成したアプリ用のコールバックの作成を参照してください。
CurrentCharacter プロパティは文字情報も返します。
ウィンドウ キーを離したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数は、Figure または子コンポーネントにフォーカスがあるときにユーザーがキーを離すと実行されます。
このコールバック関数は、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、KeyData オブジェクトのプロパティを示します。
| プロパティ | 説明 | 例: | |||
|---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 離された 1 つ以上のキーに対応する文字。 特定のキー (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' |
コールバック プロパティ値の指定とコールバック引数の使用の詳細については、App Designer のコールバックまたはプログラムで作成したアプリ用のコールバックの作成を参照してください。
ウィンドウ スクロール ホイール コールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは、Figure またはそのいずれかの子にフォーカスがあるときに、ユーザーがスクロール ホイールを動かすと実行されます。ただし、スクロール ホイールの動作が他のオブジェクトでキャプチャされ、このコールバックの実行が妨げられる場合があります。
このコールバックは、CurrentObject および SelectionType プロパティには影響しません。
このコールバックは、ユーザーがスクロール ホイールを回転させたときに特定の情報にアクセスできます。MATLAB は、この情報を ScrollWheelData オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。次の表に、ScrollWheelData オブジェクトのプロパティを示します。
プロパティ | 内容 |
|---|---|
VerticalScrollCount | スクロール ホイールのクリックの方向と回数を示す正または負の数値。下にスクロールすると 1 が返されます。上にスクロールすると -1 が返されます。 |
VerticalScrollAmount | 定数値 |
Source | コールバックを実行するオブジェクト。 |
EventName | 'WindowScrollWheel'. |
コールバック プロパティ値の指定とコールバック引数の使用の詳細については、App Designer のコールバックまたはプログラムで作成したアプリ用のコールバックの作成を参照してください。
例: x 軸の範囲を変更するアプリ
この例では、プロットを表示するアプリの作成方法を説明します。ユーザーは、スクロールによって x 軸の範囲を変更できます。次のコードをコピーしてエディターに貼り付け、実行します。
function scroll_wheel % Shows how to use WindowScrollWheelFcn property % f = uifigure('WindowScrollWheelFcn',@figScroll,'Name','Scroll Wheel Demo'); x = 0:.1:40; y = 4.*cos(x)./(x+2); a = axes(f); h = plot(a,x,y); title(a,'Rotate the scroll wheel') function figScroll(~,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; % Don't let xd = 0 x = [0:.1:xd(end)-inc+.1]; 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 番目の引数はコールバック関数にイベント データを提供します。
コールバック実行制御
コールバックの割り込み。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
このプロパティは実行中のコールバックが割り込み可能かどうかを決定します。次の 2 つのコールバックの状態について考慮する必要があります。
"実行中" コールバックは、現在実行しているコールバックです。
"割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。
MATLAB は、コールバック キューを処理するコマンドを実行するたびにコールバックの割り込み動作を判別します。これらのコマンドには、drawnow、figure、uifigure、getframe、waitfor、pause があります。
実行中コールバックにこれらのコマンドが含まれていない場合、割り込みは発生しません。MATLAB は、実行中コールバックの実行を先に終了させ、その後に割り込みコールバックを実行します。
実行中コールバックにこれらのいずれかのコマンドが含まれている場合、実行中コールバックを所有するオブジェクトの Interruptible プロパティに応じて割り込みが発生するかどうかが決まります。
Interruptibleの値が'off'の場合、割り込みは発生しません。代わりに、割り込みコールバックを所有するオブジェクトのBusyActionプロパティに応じて、割り込みコールバックが破棄されるかコールバック キューに追加されるかが決まります。Interruptibleの値が'on'の場合、割り込みが発生します。MATLAB は、コールバック キューの次回処理時に、実行中コールバックの実行を停止し、割り込みコールバックを実行します。割り込みコールバックが完了した後、MATLAB は実行中だったコールバックの実行を再開します。
メモ
コールバックの割り込みと実行は、以下の状況では動作が異なります。
割り込みコールバックが
DeleteFcn、CloseRequestFcnまたはSizeChangedFcnコールバックの場合、Interruptibleプロパティの値にかかわらず割り込みが発生します。実行中のコールバックが関数
waitforを現在実行している場合、Interruptibleプロパティの値にかかわらず割り込みが発生します。割り込みコールバックが
Timerオブジェクトで所有されている場合、Interruptibleプロパティの値にかかわらずスケジュールに従ってコールバックが実行されます。
コールバック キューイング。'queue' または 'cancel' として指定します。BusyAction プロパティは MATLAB による割り込みコールバックの実行の処理方法を決定します。次の 2 つのコールバックの状態について考慮する必要があります。
"実行中" コールバックは、現在実行しているコールバックです。
"割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。
BusyAction プロパティによってコールバック キューイングの動作が決まるのは、次の両方の条件を満たす場合のみです。
これらの条件に当てはまる場合、割り込みコールバックを所有するオブジェクトの BusyAction プロパティに応じて MATLAB による割り込みコールバックの処理方法が決まります。BusyAction プロパティは次の値を取ることができます。
'queue'— 割り込みコールバックをキューに入れ、実行中のコールバックが終了した後に処理されるようにします。'cancel'— 割り込みコールバックを実行しません。
現在のオブジェクトになる能力。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は、matlab.lang.OnOffSwitchState 型の on/off の logical 値として保存されます。
'on'— ユーザーが Figure をクリックしたときに、現在のオブジェクトをFigureオブジェクトに設定します。関数Figureおよび関数gcoの両方のCurrentObjectプロパティは、現在のオブジェクトとしてFigureを返します。'off'— ユーザーが Figure をクリックしたときに、現在のオブジェクトは更新されません。
この プロパティ は読み取り専用です。
削除状態。matlab.lang.OnOffSwitchState 型の on/off logical 値として返されます。
MATLAB は、DeleteFcn コールバックが実行を開始すると、BeingDeleted プロパティを 'on' に設定します。コンポーネント オブジェクトが存在しなくなるまで BeingDeleted プロパティは 'on' に設定されたままです。
クエリや変更の前にオブジェクトが削除されようとしていないか確認するために BeingDeleted プロパティの値をチェックします。
親/子
この プロパティ は読み取り専用です。
親オブジェクト。root オブジェクトとして返されます。
Figure オブジェクトの子。空の GraphicsPlaceholder または 1 次元のオブジェクト配列として返されます。
Children プロパティを使用して、子オブジェクトの追加や削除を行うことはできません。このプロパティは、子のリストの参照や子の並べ替えに使用します。この配列内の子の順序は、画面上のオブジェクトの前から後ろへの順序 (重なり順序) を反映します。
このリストに子を追加するには、子オブジェクトの Parent プロパティを Figure オブジェクトに設定します。
HandleVisibility プロパティが 'off' に設定されているオブジェクトは Children プロパティにリストされません。
Figure オブジェクトの可視性。'off'、'callback'、または 'on' として指定します。このプロパティは、figure オブジェクトの親がもつ子のリストにおけるその Figure オブジェクトの可視性に関する情報を制御します。
次の表では、それぞれの値を設定する効果について説明します。
HandleVisibility 値 | 説明 |
|---|---|
'off' | この値は
このオプションは、コールバック関数やコマンド ラインから呼び出される関数がオブジェクトをターゲットとし、UI に不必要な変更を行うのを抑止します。 |
'callback' |
このオプションを使用すると、コマンド ラインからのオブジェクトへのアクセスがブロックされますが、コールバック関数からはアクセスできます。 |
'on' | この値は
|
HandleVisibility プロパティが 'off' に設定されている場合でも、オブジェクトは有効です。オブジェクトにアクセスできる場合は、そのプロパティを設定および取得して、それをオブジェクトに作用する任意の関数に渡すことができます。
識別子
Figure の名前。文字ベクトルまたは string スカラーとして指定します。
figure 関数を使用して作成された Figure では、既定の名前は 'Figure n' です。ここで、n は整数です。Name プロパティを指定した場合、Figure のタイトルは 'Figure n: name' になります。Name の値のみを表示する場合は、IntegerHandle または NumberTitle を 'off' に設定します。
uifigure 関数を使用してプログラムにより作成された Figure では、既定の名前は '' です。
App Designer では、既定の名前は 'MATLAB App' です。
例: figure("Name","Results") は、Figure の名前を "Results" に設定します。
アイコンのソースまたはファイル。文字ベクトル、string スカラー、または m×n×3 のトゥルーカラー イメージ配列として指定します。ファイル名には、MATLAB パス上のイメージ ファイル名、あるいはイメージ ファイルへの絶対パスを指定できます。他のユーザーとアプリを共有する予定の場合は、アプリのパッケージ化を容易にするためにイメージ ファイルを MATLAB パス上に配置します。
サポートされているイメージ形式には、JPEG、PNG、GIF および m×n×3 のトゥルーカラー イメージ配列が含まれます。トゥルーカラー イメージ配列の詳細については、MATLAB でのイメージ タイプの処理を参照してください。アニメーション GIF ファイルでは最初のフレームのみが表示されます。
アイコンをフル サイズで完全に表示する十分なスペースが得られない場合、MATLAB はイメージをスケール ダウンして収まるようにします。
例: "icon.png" は、MATLAB パス上のアイコン ファイルを指定します。
例: "C:\Documents\icon.png" は、イメージ ファイルへの絶対パスを指定します。
例: fig = uifigure("Icon","peppers.png") は指定されたアイコンのイメージ ファイルを使用して UI Figure を作成します。
この プロパティ は読み取り専用です。
Figure の番号。整数または空の配列として返されます。
IntegerHandle プロパティが 'off' に設定されている場合、Number プロパティは空になります。
IntegerHandle が 'on' の場合、Number プロパティは整数です。Figure を削除すると、MATLAB はその番号を次の Figure に再利用します。
数値タイトル。'off' または 'on'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は、matlab.lang.OnOffSwitchState 型の on/off の logical 値として保存されます。
NumberTitle および IntegerHandle プロパティの両方が 'on' に設定されていると、Figure のタイトルに 'Figure n' という語句が含まれます。ここで、n は番号です。
整数ハンドルの使用。'off' または 'on'、もしくは数値または 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 プロパティを空の配列に設定します。
タイトル バーに番号を表示するには、IntegerHandle と NumberTitle がどちらも 'on' に設定されていなければなりません。
Figure を保存するファイル名。文字ベクトルまたは string スカラーとして指定します。GUIDE を使用して作成されたアプリはこのプロパティを使用して、アプリに関連付けられている UI レイアウト ファイルの名前を格納します。
この プロパティ は読み取り専用です。
グラフィックス オブジェクトのタイプ。'figure' として返されます。
オブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。オブジェクトの識別子として機能する一意の Tag 値を指定できます。コードの他の部分からオブジェクトにアクセスする必要がある場合、関数 findobj を使用して Tag 値に基づいてオブジェクトを検索できます。
ユーザー データ。任意の MATLAB 配列として指定します。たとえば、スカラー、ベクトル、行列、cell 配列、文字配列、table、または構造体を指定できます。このプロパティを使用して、任意のデータをオブジェクトに保存します。
App Designer を使用している場合は、UserData プロパティを使用する代わりに、アプリでパブリック プロパティまたはプライベート プロパティを作成してデータを共有します。詳細については、App Designer アプリ内でのデータの共有を参照してください。
例
既定の UI Figure を作成します。
fig = uifigure;

Figure の位置、幅および高さを取得します。
fig.Position
ans = 681 559 560 420
これは、Figure ウィンドウがプライマリ ディスプレイの右に 681 ピクセル、左下隅から 559 ピクセルの位置に配置され、幅が 560 ピクセルで高さが 420 ピクセルであることを意味します。
位置ベクトルの第 3 と第 4 の要素を調整して、Figure の幅と高さを半分にします。
fig.Position(3:4) = [280 210];

詳細
Figure オブジェクトの既定の構成は、Figure の作成方法によって異なります。uifigure 関数を使用して作成された Figure はアプリ作成用に構成されるのに対して、figure 関数を使用して作成された Figure はデータ探索および可視化用に構成されるため、既定の構成に相違点があります。次の表は、主な相違点を示しています。
| カテゴリ | figure 構成 | uifigure 構成 | 相違点の説明 |
|---|---|---|---|
| ウィンドウのグループ化 | Figure は Figure コンテナーにドッキングされ、タブを使用するか、Figure コンテナー内で Figure をタイル配置することで、異なる Figure 間を移動できます。 | UI Figure は、Figure コンテナーなしで独立したスタンドアロン ウィンドウとしてアンドックされます。WindowStyle プロパティは 'normal' です。 | Figure コンテナーは、複数の Figure ウィンドウを管理、編集、およびレイアウトしてデータやグラフィックスを比較する方法を提供します。 この機能は、アプリとはあまり関連性がありません。 |
| Figure ツール | 既定では、Figure には一般的なデータ探索機能を備えたツールストリップがあります。 | 既定では、UI Figure にはツールストリップ、ツール バー、またはメニュー バーはありません。 | Figure ツールストリップが提供する機能は、アプリよりもデータ探索との関連性が高いです。UI Figure では、uitoolbar 関数および uimenu 関数を使用して、カスタム ツール バーやメニューを作成できます。 |
| Figure のサイズ | Figure の既定のサイズは大きめです。 | UI Figure の既定のサイズは小さめです。 | Figure のサイズは、設計されたタスクの種類に応じて最初から適切に設定されています。 Figure のサイズは、その |
| 現在の Figure になる能力 | HandleVisibility プロパティは既定で 'on' です。Figure とその中に含まれるオブジェクトは、現在のオブジェクトになることができます。 | HandleVisibility プロパティは既定で 'off' です。UI Figure とその中に含まれるオブジェクトは、現在のオブジェクトになることができません。 | HandleVisibility プロパティは、Figure またはその中に含まれるオブジェクトが現在のオブジェクトになれるかどうかを制御します (たとえば、gcf や gca を使用する場合)。多くのグラフィックス関数は、データをプロットするなどの操作のターゲットを決定するために、暗黙的に gcf や gca を使用します。関数がアプリのインターフェイスに不要な変更を加えないようにするため、UI Figure の HandleVisibility プロパティは既定で 'off' です。 |
| サイズ変更の動作 | AutoResizeChildren プロパティは既定で 'off' です。Figure ウィンドウのサイズ変更は、Table オブジェクトや UIControl オブジェクトなど、既定でピクセル単位を使用するコントロールやコンテナーのサイズには影響しません。 | AutoResizeChildren プロパティは既定で 'on' です。MATLAB は、UI Figure ウィンドウがサイズ変更されるたびに、UI コンポーネントを自動的にサイズ変更します。 | UI Figure ウィンドウのサイズを変更すると UI コンポーネントのサイズも変更されるため、任意のウィンドウ サイズでアプリを使用できるようになります。UI Figure の自動サイズ変更の動作は、グリッド レイアウト マネージャーなどの他のサイズ変更管理オプションに加えて、軽量な既定の動作を提供します。 |
| コンテナーの位置、サイズ、および単位 | Figure を親とする Panel、ButtonGroup、および TabGroup オブジェクトは Figure ウィンドウのフル サイズを占有し、Units が 'normalized' に設定されています。 | UI Figure を親とするすべてのコンテナーおよび UI コンポーネントには既定の位置とサイズが設定されており、Units が 'pixels' に設定されています。 | ほとんどのデータ探索機能が正規化単位を使用するのに対し、ほとんどのアプリ作成機能はピクセル単位を使用します。 アプリで UI Figure 内の親のサイズに基づいてコンテナーやコンポーネントを自動的にサイズ変更するには、 |
バージョン履歴
R2006a より前に導入Theme プロパティを設定して Figure のテーマを選択します。このプロパティを設定すると、ThemeMode プロパティは自動的に "auto" から "manual" に変更され、テーマが保持されます。
ThemeChangedFcn プロパティを関数ハンドルに設定すると、テーマが変更されたときに実行されるコールバック関数を記述できます。
figure 関数または Figure を作成するグラフィックス関数を呼び出すと、Figure が Figure コンテナー内にタブとして表示されます。この Figure のグループ化によってウィンドウ管理が改善され、Figure を比較および配置することが可能になります。
この変更の結果、これらの既定のプロパティ値は以前のリリースとは異なります。
| プロパティ | 既定値 (R2024b 以前) | 既定値 (R2025a 以降) |
|---|---|---|
WindowStyle | 'normal' | 'docked' |
Position、InnerPosition、および OuterPosition | 位置ベクトルの最初の 2 要素は、プライマリ ディスプレイの左端と下端を基準とします。 | Figure コンテナーを基準にして位置が返されるため、位置ベクトルの最初の 2 要素は常に [1 1] です。 |
次の操作を行うと、Figure が Figure コンテナーからアンドックされます。
WindowStyleプロパティを'normal'に設定するPosition、Resize、またはWindowStateなど、Figure のサイズ、位置、またはウィンドウ動作を変更するFigureプロパティを設定する
さらに、Figure はメニュー バーやツール バーではなくツールストリップ付きで表示されます。Figure のツールストリップでは、Figure 内のプロットやデータを操作するオプションが改善されて提供されています。
ただし、アプリや保存された Figure で Figure のメニュー バーやツール バーが変更されている場合 (たとえば、Figure オブジェクトの ToolBar プロパティが設定されている場合) は、ツールストリップではなくメニュー バーとツール バーが引き続き表示されます。Figure がメニュー バーまたはツール バーの機能に依存している場合は、Figure の MenuBar プロパティまたは ToolBar プロパティを設定して、ツールストリップではなくメニュー バーまたはツール バーを表示するように指定できます。
f = figure; f.MenuBar = "figure"; f.ToolBar = "figure";
figure 関数を使用して作成された Figure オブジェクトには、次の追加プロパティが含まれます。
AutoResizeChildrenScrollableIcon
さらに、WindowStyle プロパティを "alwaysontop" に設定できます。
uifigure 関数を使用して作成された Figure オブジェクトには、次の追加プロパティが含まれます。
MenuBarToolBarDockControls
さらに、WindowStyle プロパティを "docked" に設定できます。
figure 関数を使用して作成された Figure に WindowScrollWheelFcn コールバック関数を指定している場合、コールバック イベント データで異なる値が返されることがあります。次の表で、この違いについて説明します。
| イベント データ プロパティ | R2024b 以前 | R2025a 以降 |
|---|---|---|
VerticalScrollCount | スクロール ホイールのクリックの方向と回数を示す正または負の数値。下にスクロールすると正の値が返されます。上にスクロールすると負の値が返されます。 垂直方向のスクロール カウントは、前回のコールバック実行後に発生したスクロール ホイールのすべてのクリック回数の合計です。通常、この値は | スクロールの方向を示す正または負の数値。下にスクロールすると 1 が返されます。上にスクロールすると -1 が返されます。 |
VerticalScrollAmount | スクロール ホイールの各クリックでスクロールした行数。通常、この値は 3 ですが、一部のシステムではマウスの設定により異なる値を返す可能性があります。 | 3 |
Figure の WindowStyle プロパティを "modal" として指定してモーダル Figure を作成すると、その Figure ウィンドウでは、他の Figure ウィンドウや MATLAB デスクトップを含むすべての MATLAB ウィンドウの操作がブロックされます。以前のリリースでは、uifigure 関数を使用して作成されたモーダル Figure で MATLAB デスクトップはブロックされませんでした。
モーダル Figure にフォーカスがあるときに MATLAB デスクトップを操作する必要がある場合は、Ctrl+C を押します。このアクションにより、Figure の WindowStyle プロパティが 'modal' から 'normal' に変わります。
ライト テーマの Color プロパティの既定値がわずかに変わりました。R2025a 以降、既定値は [0.9608 0.9608 0.9608] です。以前の既定値は [0.94 0.94 0.94] でした。
GraphicsSmoothing プロパティには効果はなく、将来のリリースで削除される予定です。現在では、このプロパティの値に関係なく、すべてのグラフィックスがスムーズに表示されます。
以前は、このプロパティを "on" または "off"、あるいは数値または logical 1 (true) または 0 (false) として指定できました。値を "on" または logical 1 (true) にすると、プロットの線のギザギザを低減する平滑化が有効になりました。値が "off" または logical 0 (false) の場合、平滑化が無効になりました。
Renderer プロパティと RendererMode プロパティには効果はなく、将来のリリースで削除される予定です。レンダラーの設定は不要になりました。
以前は、Renderer プロパティを次のいずれかの値に設定できました。
"opengl"— OpenGL® レンダラー。このオプションを使用すると、MATLAB はシステムで利用可能なグラフィックス ハードウェアにアクセスできました。"painters"— Painters レンダラー。このオプションは、2 次元表示の座標軸で良好に機能しました。2 次元では、Painters レンダラーは graphics オブジェクトを子の順序 (指定順序) で並べ替えました。3 次元では、Painters レンダラーはオブジェクトを手前から奥の順序で並べ替えました。
RendererMode プロパティは、"auto" と "manual" という 2 つの値をとることができました。値が "auto" の場合、MATLAB は Figure 内のグラフィックス オブジェクトのサイズと複雑さに基づいて、印刷用と画面表示用のレンダリング手法を選択できました。値が "manual" の場合、Renderer プロパティで指定されたレンダラーのみに制限されました。
この変更は R2022a で発表されました。
InvertHardcopy プロパティは無効になります。現在では、print 関数または saveas 関数を呼び出して Figure をエクスポートする場合、既定の背景色は Figure のテーマに対応します。Figure がライト テーマの場合、背景は白です。Figure がダーク テーマの場合、背景は濃いグレー (ほぼ黒) です。print または saveas を呼び出す前に Figure の Color プロパティを設定している場合は、テーマに関係なく、指定の色が出力で使用されます。
print 関数を呼び出してハード コピーを印刷する場合、背景色は既定では白 (インクなし) になります。Figure の Color プロパティを設定している場合は、その色が出力で使用されます。
以前は、InvertHardcopy プロパティを "on" または "off"、あるいは数値または logical 1 (true) または 0 (false) として指定できました。値が "on" または logical 1 (true) の場合、Figure の背景色および座標軸の背景色が白に変更されました。値が "off" または logical 0 (false) の場合、ディスプレイ上と同じ色が使用されました。
特定の UI Figure ウィンドウを他のウィンドウの前に維持するには、WindowStyle プロパティを 'alwaysontop' に設定します。モーダル Figure とは異なり、このプロパティ設定をもつ UI Figure ウィンドウでは、キーボードやマウスの操作が制限されません。
キーボードやマウスの操作を特定の UI Figure ウィンドウに制限するには、WindowStyle プロパティを 'modal' に設定します。
カスタム アイコンを UI Figure ウィンドウに追加するには、Icon プロパティをイメージ ファイルに、または m×n×3 のトゥルーカラー配列に設定します。
R2020a 以降、コンテキスト メニューをグラフィックス オブジェクトまたは UI コンポーネントに割り当てる UIContextMenu プロパティの使用は推奨されなくなりました。代わりに、ContextMenu プロパティを使用してください。プロパティ値は同じです。
現在のところ、UIContextMenu プロパティのサポートを削除する予定はありません。ただし、UIContextMenu プロパティは、グラフィカル オブジェクトまたは UI コンポーネントで関数 get を呼び出して返されるリストに表示されなくなります。
PaperPositionMode プロパティの既定値が 'auto' に変更されました。従来の既定値は 'manual' でした。
既定値を変更するには、root オブジェクトの既定値を変更します。この値の設定は、現在の MATLAB セッションの新しい Figure のみに適用され、たとえば次のようになります。
set(groot,'defaultFigurePaperPositionMode','manual')
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)























