Legend のプロパティ
凡例の外観と動作
Legend プロパティは、Legend オブジェクトの外観と動作を制御します。プロパティの値を変更することによって、凡例の特定の要素を変更できます。ドット表記を使用して、特定のオブジェクトとプロパティを参照します。
plot(rand(3))
lgd = legend('a','b','c');
c = lgd.TextColor;
lgd.TextColor = 'red';位置とレイアウト
座標軸に対する相対的な位置。次の表に挙げる位置の値のいずれかとして指定します。
| 値 | 説明 |
|---|---|
'north' | 座標軸内の上部 |
'south' | 座標軸内の下部 |
'east' | 座標軸内の右側 |
'west' | 座標軸内の左側 |
'northeast' | 座標軸内の右上部 (2 次元座標軸の既定値) |
'northwest' | 座標軸内の左上部 |
'southeast' | 座標軸内の右下部 |
'southwest' | 座標軸内の左下部 |
'northoutside' | 座標軸外の上部 |
'southoutside' | 座標軸外の下部 |
'eastoutside' | 座標軸外の右側 |
'westoutside' | 座標軸外の左側 |
'northeastoutside' | 座標軸外の右上隅 (3 次元座標軸の既定値) |
'northwestoutside' | 座標軸外の左上隅 |
'southeastoutside' | 座標軸外の右下隅 |
'southwestoutside' | 座標軸外の左下隅 |
'best' | プロット ボックス内でデータとの接触が最も回避できる座標軸内の場所 |
'bestoutside' | 座標軸外の右上隅 (凡例が縦方向の場合) または座標軸の下 (凡例が横方向の場合) |
'layout' | タイル表示チャート レイアウト内のタイル。凡例を別のタイルに移動させるには、凡例の Layout プロパティを設定します。 |
'none' | Position プロパティに依存。Position プロパティを使用してカスタムの位置を指定します。 |
例: legend('Location','northeastoutside')
向き。次の値の 1 つとして指定します。
'vertical'— 凡例の項目を垂直方向に重ねて表示します。凡例に複数の列がある場合は、各列に沿って上から下に項目をレイアウトします。'horizontal'— 凡例の項目を横に並べて表示します。凡例に複数の列がある場合は、各行に沿って左から右に項目をレイアウトします。
例: legend('Orientation','horizontal')
列数。正の整数として指定します。指定された列数より凡例項目が少ない場合、表示される列数が少なくなることがあります。
各列または各行のいずれに沿って凡例項目を順番に表示するかを制御するには、Orientation プロパティを使用します。
例: lgd.NumColumns = 3
NumColumns 値の選択モード。次の値のいずれかとして指定します。
'auto'— 値を自動で選択します。'manual'— 手動で指定した値を使用します。値を指定するには、NumColumnsプロパティを設定します。
R2023b 以降
凡例項目の順序。次の表のいずれかの値として指定します。
ほとんどのチャートで、既定の方向は "normal" です。ただし、積み上げ型の棒グラフと面グラフの場合、チャートの重なり順序に一致するように、既定の方向は "reverse" となります。
| 値 | 説明 | 例 |
|---|---|---|
| 最初の項目を一番上に、最後の項目を一番下にリストします。 |
|
| 最初の項目を一番下に、最後の項目を一番上にリストします。 |
|
R2023b 以降
Direction 値の選択モード。次の値のいずれかとして指定します。
"auto"— 値を自動で選択します。"manual"— 手動で指定した値を使用します。値を指定するには、Directionプロパティを設定します。
R2024b 以降
凡例アイコンの水平方向のスペース。ポイント単位の正の数値として指定します。1 ポイントは 1/72 インチです。このプロパティは、凡例アイコンの周囲のスペースの量をカスタマイズする場合に使用します。値を小さくすると、特定のアイコンの幅が短くなります。結果として、空白が減り、凡例ボックスが狭くなります。
たとえば、次の 3 つの凡例は、IconColumnWidth 値 (それぞれ、30、40、および 10) を除いて同じです。
![]()
ヒント
アイコンを含む領域を正方形にするには、IconColumnWidth プロパティを FontSize プロパティと同じ値に設定します。
lgd.IconColumnWidth = lgd.FontSize;
R2024b 以降
IconColumnWidth プロパティの設定方法を制御します。次のいずれかの値として指定します。
"auto"— 凡例内のアイコンに応じて、MATLAB® によってIconColumnWidthプロパティの値が制御されます。凡例にマーカー アイコンのみが含まれている場合は、列が縮小してアイコンの周囲のスペースが最小化されます。それ以外の場合、幅は30です。"manual"—IconColumnWidthプロパティの値を直接設定します。この幅は変更されません。
IconColumnWidth プロパティの値を手動で設定すると、MATLAB は IconColumnWidthMode プロパティの値を "manual" に変更します。
カスタムの位置とサイズ。[left bottom width height] の形式の 4 要素ベクトルとして指定します。最初の 2 つの値 left と bottom は、Figure の左下隅から凡例の左下隅までの距離を指定します。最後の 2 つの値 width と height は、凡例のサイズを指定します。位置の単位は Units プロパティで定義されます。
Position プロパティを設定すると、MATLAB は Location プロパティを自動的に 'none' に変更します。
例: legend({'A','B'},'Position',[0.2 0.6 0.1 0.2])
メモ
親コンテナーが TiledChartLayout オブジェクトの場合、このプロパティを設定しても効果はありません。
位置の単位。次の表のいずれかの値を指定します。
Units | 説明 |
|---|---|
'normalized' (既定) | コンテナー (通常は Figure) を基準に正規化されます。Figure の左下隅が (0,0) で、右上隅が (1,1) になります。Figure のサイズを変更すると、Position ベクトルの値が更新されます。 |
'inches' | インチ。 |
'centimeters' | センチメートル。 |
'characters' | 既定のシステム フォントの文字サイズを基準にします。
|
'points' | ポイント。1 ポイントは 1/72 インチです。 |
'pixels' | ピクセル。 Windows® システムおよび Macintosh システムでは、ピクセルのサイズは 1/96 インチです。このサイズはシステムの解像度に依存しません。 Linux® システムでは、ピクセルのサイズは使用しているシステムの解像度によって決まります。 |
すべての単位は、コンテナー ウィンドウの左下隅から測定されます。
このプロパティは Position プロパティに影響します。単位を変更した場合、Units が既定値であることを前提としている他の関数に影響を及ぼさないように、計算終了後に元の既定値に戻すことを推奨します。
オブジェクトの作成時に Position プロパティと Units プロパティを Name,Value のペアとして指定する場合は、指定する順序が重要です。特定の単位で位置を定義するには、Units プロパティを設定してから Position プロパティを設定しなければなりません。
レイアウト オプション。TiledChartLayoutOptions オブジェクトとして指定します。このプロパティは、凡例がタイル表示チャート レイアウトにある場合に役立ちます。
タイル表示チャート レイアウトのグリッド内に凡例を配置するには、Tile プロパティを TiledChartLayoutOptions オブジェクトに設定します。たとえば、3 行 3 列のタイル表示チャート レイアウトについて考えます。レイアウトの中央にタイルのグリッドがあり、外側のエッジに沿って 4 つのタイルがあります。実際には、グリッドは非表示であり、座標軸またはその他のオブジェクトが入力されるまで、外側のタイルは領域を占有しません。

次のコードは、凡例 lgd をグリッドの 3 番目のタイルに配置します。
lgd.Layout.Tile = 3;
凡例を周囲のいずれかのタイルに配置するには、Tile プロパティを 'north'、'south'、'east'、または 'west' として指定します。たとえば、値を 'east' に設定すると、タイル内の凡例はグリッドの右側のタイルに配置されます。
lgd.Layout.Tile = 'east';凡例がタイル表示チャート レイアウトの子ではない場合 (たとえば、Figure の子である場合)、このプロパティは空で、効果はありません。
ラベル
座標軸の現在の状態を反映する凡例項目の自動更新。"on" または "off"、もしくは数値あるいは logical 1 (true) または 0 (false) として指定します。"on" の値は true と等価であり、"off" の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
"on"— 座標軸に追加された新しいグラフィックス オブジェクトに対して自動的に凡例項目を追加します。"off"— 凡例項目を自動的に追加しません。
座標軸からオブジェクトを削除すると、このプロパティが "on" または "off" に設定されているかどうかに関係なく、変更内容を反映して凡例が更新されます。 (R2022b 以降)
例: legend(["A","B"],"AutoUpdate","off")
凡例ラベルのテキスト。文字ベクトルの cell 配列、string 配列または categorical 配列として指定します。ラベルに特殊文字やギリシャ文字を含めるには、TeX マークアップを使用します。オプションの表については、Interpreter プロパティを参照してください。
凡例のタイトル。legend text オブジェクトとして返されます。凡例のタイトルを追加するには、legend text オブジェクトの String プロパティを設定します。フォント スタイルや色など、タイトルの外観を変更するには、凡例のテキスト プロパティを設定します。一覧については、Text のプロパティ を参照してください。
plot(rand(3)); lgd = legend('line 1','line 2','line 3'); lgd.Title.String = 'My Legend Title'; lgd.Title.FontSize = 12;
別の方法として、関数 title を使用してタイトルを追加し、外観を制御することができます。
plot(rand(3)); lgd = legend('line 1','line 2','line 3'); title(lgd,'My Legend Title','FontSize',12)
テキスト インタープリター。次の値のいずれかとして指定します。
'tex'— TeX マークアップのサブセットを使用して文字を解釈します。'latex'— LaTeX マークアップを使用して文字を解釈します。'none'— リテラル文字を表示します。
TeX マークアップ
MATLAB では、既定で TeX マークアップのサブセットをサポートしています。TeX マークアップを使用して、上付き文字や下付き文字の追加、フォントのタイプや色の変更、テキストへの特殊文字の挿入を行うことができます。
修飾子の効果はテキストの末尾まで適用されます。上付き文字と下付き文字は例外であり、次の 1 文字または中かっこで囲まれた文字にのみ適用されます。インタープリターを "tex" に設定した場合にサポートされる修飾子は次のとおりです。
| 修飾子 | 説明 | 例 |
|---|---|---|
^{ } | 上付き文字 | "text^{superscript}" |
_{ } | 下付き文字 | "text_{subscript}" |
\bf | 太字フォント | "\bf text" |
\it | イタリック フォント | "\it text" |
\sl | 斜体フォント (通常はイタリック フォントと同じ) | "\sl text" |
\rm | 標準フォント | "\rm text" |
\fontname{ | フォント名 — をフォント ファミリの名前に置き換えます。これは他の修飾子と組み合わせて使用できます。 | "\fontname{Courier} text" |
\fontsize{ | フォント サイズ — をポイント単位の数値スカラーに置き換えます。 | "\fontsize{15} text" |
\color{ | フォントの色 — を、red、green、yellow、magenta、blue、black、white、gray、darkGreen、orange、lightBlue の色のいずれかに置き換えます。 | "\color{magenta} text" |
\color[rgb]{specifier} | フォントのカスタムの色 — を RGB 3 成分に置き換えます。 | "\color[rgb]{0,0.5,0.5} text" |
次の表に、"tex" インタープリターでサポートされる特殊文字を示します。
| 文字列 | 記号 | 文字列 | 記号 | 文字列 | 記号 |
|---|---|---|---|---|---|
| α |
| υ |
| ~ |
| ∠ |
| ϕ |
| ≤ |
|
|
| χ |
| ∞ |
| β |
| ψ |
| ♣ |
| γ |
| ω |
| ♦ |
| δ |
| Γ |
| ♥ |
| ϵ |
| Δ |
| ♠ |
| ζ |
| Θ |
| ↔ |
| η |
| Λ |
| ← |
| θ |
| Ξ |
| ⇐ |
| ϑ |
| Π |
| ↑ |
| ι |
| Σ |
| → |
| κ |
| ϒ |
| ⇒ |
| λ |
| Φ |
| ↓ |
| µ |
| Ψ |
| º |
| ν |
| Ω |
| ± |
| ξ |
| ∀ |
| ≥ |
| π |
| ∃ |
| ∝ |
| ρ |
| ∍ |
| ∂ |
| σ |
| ≅ |
| • |
| ς |
| ≈ |
| ÷ |
| τ |
| ℜ |
| ≠ |
| ≡ |
| ⊕ |
| ℵ |
| ℑ |
| ∪ |
| ℘ |
| ⊗ |
| ⊆ |
| ∅ |
| ∩ |
| ∈ |
| ⊇ |
| ⊃ |
| ⌈ |
| ⊂ |
| ∫ |
| · |
| ο |
| ⌋ |
| ¬ |
| ∇ |
| ⌊ |
| x |
| ... |
| ⊥ |
| √ |
| ´ |
| ∧ |
| ϖ |
| ∅ |
| ⌉ |
| 〉 |
| | |
| ∨ |
| 〈 |
| © |
LaTeX マークアップ
LaTeX マークアップを使用するには、インタープリターを "latex" に設定します。インライン モードでは、マークアップを 1 つのドル記号 ($) で囲みます。表示モードでは、マークアップを 2 つのドル記号 ($$) で囲みます。
| LaTeX モード | 例 | 結果 |
|---|---|---|
| インライン |
"$\int_1^{20} x^2 dx$" |
|
| 表示 |
"$$\int_1^{20} x^2 dx$$" |
|
テキストは LaTeX の既定のフォント スタイルで表示され、FontName、FontWeight、FontAngle のプロパティは無視されます。フォント スタイルを変更するには、LaTeX マークアップを使用します。
LaTeX インタープリターで使用できるテキストの最大サイズは 1200 文字です。複数行のテキストの場合は、さらに 1 行につき 10 文字ほど文字数が少なくなります。
MATLAB では、大半の標準の LaTeX 数式モード コマンドがサポートされています。詳細については、サポートされる LaTeX コマンドを参照してください。TeX および LaTeX の使用例については、チャートのテキスト内のギリシャ文字と特殊文字を参照してください。
フォント
フォント名。サポートされているフォント名または "FixedWidth" として指定します。テキストを正しく表示し印刷するには、システムでサポートされているフォントを選択しなければなりません。既定のフォントは、オペレーティング システムとロケールによって異なります。
どのロケールでもテキストが整って見える固定幅のフォントを使用するには、"FixedWidth" を使用します。固定幅フォントは、ルートの FixedWidthFontName プロパティによって決まります。ルートの FixedWidthFontName プロパティを設定すると、表示内容が新しいフォントを使用して直ちに更新されます。
フォント サイズ。ポイント単位のゼロより大きいスカラー値として指定します。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。
座標軸のフォント サイズを変更すると、カラー バーのフォント サイズは MATLAB によって自動的に座標軸のフォント サイズの 90% に設定されます。カラー バーのフォント サイズを手動で設定した場合は、座標軸のフォント サイズを変更してもカラー バーのフォントは影響を受けません。
文字の太さ。'normal' または 'bold' として指定します。
MATLAB ではフォントは、FontWeight プロパティを使用して、ユーザーのシステムで使用可能なフォントから選択します。すべてのフォントに太字があるとは限りません。そのため、太字フォントを指定しても標準フォントの太さと変わらない場合があります。
文字の傾斜。'normal' または 'italic' として指定します。
すべてのフォントに両方のフォント スタイルがあるとは限りません。そのため、イタリック フォントを指定しても標準フォントと変わらない場合があります。
色とスタイル
テキストの色。RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。既定色は黒で、[0 0 0] の値で指定されます。
カスタム色を使用する場合は、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 進数カラー コードを取得します。
例: [0 0 1]
例: 'blue'
例: '#0000FF'
背景色。RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。既定値の [1 1 1] は、白に相当します。
カスタム色を使用する場合は、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 進数カラー コードを取得します。
例: legend({'A','B'},'Color','y')
例: legend({'A','B'},'Color',[0.8 0.8 1])
例: legend({'A','B'},'Color','#D9A2E9')
ボックス外枠の色。RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。既定値の [0.15 0.15 0.15] は、濃いグレーに相当します。
カスタム色を使用する場合は、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 進数カラー コードを取得します。
例: legend({'A','B'},'EdgeColor',[0 1 0])
R2024a 以降
背景の透明度。範囲 [0, 1] のスカラーとして指定します。値 1 は完全に不透明で、値 0 は完全に透明です。0 と 1 の間の値は一部透明です。BackgroundAlpha の値が異なるいくつかの凡例の例を次に示します。
| 値 | 外観 |
|---|---|
|
|
|
|
|
|
ボックスの外枠の表示。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
'on'— 凡例の周囲にボックスを表示します。'off'— 凡例の周囲にボックスを表示しません。
例: legend({'A','B'},'Box','off')
ボックスの外枠の幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。
例: 1.5
対話機能
可視性の状態。"on" または "off"、もしくは数値または logical 1 (true) または 0 (false) として指定します。"on" の値は true と等価であり、"off" の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
"on"— オブジェクトを表示します。"off"— オブジェクトを削除せずに非表示にします。非表示のオブジェクトのプロパティには引き続きアクセスできます。
コンテキスト メニュー。ContextMenu オブジェクトとして指定します。このプロパティは、オブジェクトを右クリックしたときにコンテキスト メニューを表示するために使用します。関数 uicontextmenu を使用して、コンテキスト メニューを作成します。
メモ
PickableParts プロパティが 'none' に設定されている場合または HitTest プロパティが 'off' に設定されている場合には、このコンテキスト メニューは表示されません。
選択状態。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
'on'— 選択されています。プロット編集モードでオブジェクトをクリックした場合、MATLAB はSelectedプロパティを'on'に設定します。SelectionHighlightプロパティも'on'に設定されている場合、MATLAB はオブジェクトの周囲に選択ハンドルを表示します。'off'— 選択されていません。
選択時の選択ハンドルの表示。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
'on'—Selectedプロパティが'on'に設定されているときに選択ハンドルを表示します。'off'—Selectedプロパティが'on'に設定されている場合でも選択ハンドルを表示しません。
コールバック
凡例の項目をクリックすると実行されるコールバック。次の値のいずれかとして指定します。
関数ハンドル。たとえば、
@myCallbackのようになります。関数ハンドルと追加の引数を含む cell 配列。たとえば、
{@myCallback,arg3}のようになります。ベース ワークスペース内で評価される、有効な MATLAB コマンドまたは MATLAB 関数である文字ベクトル (非推奨)。
関数ハンドルを使用してこのプロパティを指定すると、MATLAB は、Legend オブジェクトとイベント データ構造体を 1 番目と 2 番目の入力引数として関数に渡します。次の表は、イベント データ構造体のフィールドについて説明しています。
イベント データ構造体のフィールド
| フィールド | 説明 |
|---|---|
Peer | クリックされた凡例項目に関連付けられているチャート オブジェクト。 |
Region | 凡例項目のクリックされる領域。'icon' または 'label' のいずれかとして返されます。 |
SelectionType | クリックのタイプ。次の値のいずれかとして返されます。
|
Source | Legend オブジェクト。 |
EventName | イベント名 'ItemHit'。 |
メモ
ButtonDownFcn プロパティを設定した場合、ItemHitFcn プロパティは無効になります。
例
凡例内の項目をクリックしたときに、関連付けられたチャートが何らかの方法で更新されるように、対話型の凡例を作成できます。たとえば、チャートの表示/非表示を切り替えたり、ラインの幅を変更したりすることができます。凡例の ItemHitFcn プロパティを、チャートをどのように変更するかを制御するコールバック関数に設定します。この例では、凡例内のチャートのアイコンまたはラベルをクリックしたときにチャートの表示/非表示を切り替える方法を説明します。チャートの Visible プロパティを 'on' または 'off' のいずれかに変更するコールバック関数を作成します。
次のコードを新しい関数ファイルにコピーし、hitcallback_ex1.m として、現在のフォルダーまたは MATLAB 検索パス上のフォルダーのいずれかに保存します。2 つの入力引数 src と evnt は、legend オブジェクトとイベント データ構造体です。凡例内の項目がクリックされると、MATLAB によって、これらの入力がコールバック関数に自動的に渡されます。イベント データ構造体の Peer フィールドを使用して、クリックされた凡例項目に関連付けられたチャート オブジェクトのプロパティにアクセスします。
function hitcallback_ex1(src,evnt) if strcmp(evnt.Peer.Visible,'on') evnt.Peer.Visible = 'off'; else evnt.Peer.Visible = 'on'; end end
次に、4 本のラインをプロットし、凡例を作成して、legend オブジェクトを変数に代入します。legend オブジェクトの ItemHitFcn プロパティをコールバック関数に設定します。凡例内の項目をクリックすると、関連付けられたチャートの表示/非表示が切り替わります。チャートを非表示にすると、凡例ラベルがグレーに変わります。
plot(rand(4)); l = legend('Line 1','Line 2','Line 3','Line 4'); l.ItemHitFcn = @hitcallback_ex1;

マウスクリック コールバック。次の値のいずれかとして指定します。
関数ハンドル
関数ハンドルと追加の引数を含む cell 配列
ベース ワークスペース内で評価される有効な MATLAB コマンドまたは MATLAB 関数の文字ベクトル (非推奨)
このプロパティは、オブジェクトをクリックしたときにコードを実行するために使用します。関数ハンドルを使用してこのプロパティを指定した場合、MATLAB はコールバックを実行するときに次の 2 つの引数をコールバック関数に渡します。
クリックしたオブジェクト — コールバック関数内から、クリックしたオブジェクトのプロパティにアクセスします。
イベント データ — 空の引数です。この引数が使用されないことを示すために、関数定義の中でこの引数をチルダ文字 (
~) に置換します。
関数ハンドルを使用してコールバック関数を定義する方法についての詳細は、グラフィックス オブジェクトのコールバックの作成を参照してください。
メモ
PickableParts プロパティが 'none' に設定されている場合または HitTest プロパティが 'off' に設定されている場合には、このコールバックは実行されません。
オブジェクト作成関数。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、グラフィックス オブジェクトのコールバックの作成を参照してください。
このプロパティは、MATLAB がオブジェクトを作成するときに実行されるコールバック関数を指定します。MATLAB は CreateFcn コールバックを実行する前に、すべてのプロパティ値を初期化します。CreateFcn プロパティを指定しない場合、MATLAB は既定の作成関数を実行します。
既存のコンポーネントに CreateFcn プロパティを設定しても効果はありません。
このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、作成中のオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。
オブジェクト削除関数。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、グラフィックス オブジェクトのコールバックの作成を参照してください。
このプロパティは、MATLAB がオブジェクトを削除するときに実行されるコールバック関数を指定します。MATLAB は、オブジェクトのプロパティを破棄する前に DeleteFcn コールバックを実行します。DeleteFcn プロパティを指定しない場合、MATLAB は既定の削除関数を実行します。
このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、削除されるオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。
コールバック実行制御
コールバックの割り込み。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
このプロパティは実行中のコールバックが割り込み可能かどうかを決定します。次の 2 つのコールバックの状態について考慮する必要があります。
"実行中" コールバックは、現在実行しているコールバックです。
"割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。
MATLAB がコールバックを呼び出すたびに、そのコールバックは実行中のコールバックに割り込もうとします。実行中のコールバックを所有するオブジェクトの Interruptible プロパティが、割り込みを許可するかどうかを決定します。Interruptible プロパティは次の 2 つの値をとることができます。
値が
'on'の場合、他のコールバックがオブジェクトのコールバックに割り込むことができます。割り込みは、drawnow、figure、uifigure、getframe、waitfor、pauseコマンドなどの、MATLAB が次にキューを処理するポイントで発生します。実行中のコールバックにこれらのいずれかのコマンドが含まれている場合、MATLAB はそのポイントでコールバックの実行を停止し、割り込みコールバックを実行します。割り込みコールバックが完了すると、MATLAB は実行中だったコールバックの実行を再開します。
実行中のコールバックにこれらのコマンドが含まれていない場合、MATLAB はそのコールバックの実行を割り込みなしで完了します。
値が
'off'の場合、割り込みの試行はすべてブロックされます。割り込みコールバックを所有するオブジェクトのBusyActionプロパティが、その割り込みコールバックを破棄するかキューに入れるかを決定します。
コールバック キューイング。'queue' または 'cancel' として指定します。BusyAction プロパティは MATLAB による割り込みコールバックの実行の処理方法を決定します。次の 2 つのコールバックの状態について考慮する必要があります。
"実行中" コールバックは、現在実行しているコールバックです。
"割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。
BusyAction プロパティによってコールバック キューイングの動作が決まるのは、次の両方の条件を満たす場合のみです。
これらの条件に当てはまる場合、割り込みコールバックを所有するオブジェクトの BusyAction プロパティに応じて MATLAB による割り込みコールバックの処理方法が決まります。BusyAction プロパティは次の値を取ることができます。
'queue'— 割り込みコールバックをキューに入れ、実行中のコールバックが終了した後に処理されるようにします。'cancel'— 割り込みコールバックを実行しません。
マウス クリック キャプチャ機能。次の値の 1 つとして指定します。
'visible'— 表示されている場合にマウス クリックをキャプチャします。Visibleプロパティが'on'に設定されていなければならず、Legendオブジェクトの色が定義されている部分をクリックしなければなりません。関連付けられている色のプロパティが'none'に設定されている部分をクリックすることはできません。Legendオブジェクトがクリックに応答するか、先祖がクリックに応答するかは、HitTestプロパティが決定します。'none'— マウス クリックをキャプチャしません。Legendオブジェクトをクリックすると、Figure ウィンドウの現在のビュー内でその下にあるオブジェクトにクリックが渡されます。LegendオブジェクトのHitTestプロパティの効果はありません。
キャプチャしたマウス クリックへの応答。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
'on'—LegendオブジェクトのButtonDownFcnコールバックをトリガーします。ContextMenuプロパティが定義されている場合は、コンテキスト メニューを呼び出します。'off'—Legendオブジェクトの先祖のうち、次のいずれかの条件を満たす最も近い先祖のコールバックをトリガーします。HitTestプロパティが、'on'に設定されている。PickablePartsプロパティが、先祖によるマウス クリックのキャプチャを有効にする値に設定されている。
メモ
PickableParts プロパティは、Legend オブジェクトがマウス クリックをキャプチャできるかどうかを決定します。キャプチャできない場合、HitTest プロパティは無効です。
この プロパティ は読み取り専用です。
削除状態。matlab.lang.OnOffSwitchState 型の on/off logical 値として返されます。
MATLAB は、DeleteFcn コールバックが実行を開始すると、BeingDeleted プロパティを 'on' に設定します。コンポーネント オブジェクトが存在しなくなるまで BeingDeleted プロパティは 'on' に設定されたままです。
クエリや変更の前にオブジェクトが削除されようとしていないか確認するために BeingDeleted プロパティの値をチェックします。
親/子
親コンテナー。Figure オブジェクト、Panel オブジェクト、Tab オブジェクト、または TiledChartLayout オブジェクトとして指定します。
Legend オブジェクトの親は、関連付けられている座標軸と同じ親でなければなりません。関連付けられている座標軸の親を変更すると、同じ親を使用するように Legend オブジェクトが自動的に更新されます。
このオブジェクトには子がありません。このプロパティは設定できません。
親の Children プロパティ内でのオブジェクト ハンドルの可視性。次の値のいずれかとして指定します。
"on"— オブジェクト ハンドルは常に表示されます。"off"— オブジェクト ハンドルは常に非表示です。このオプションは、他の関数による意図しない変更を防止するために役立ちます。HandleVisibilityを"off"に設定すると、その関数の実行中にハンドルが一時的に非表示になります。"callback"— オブジェクト ハンドルはコールバック内から、あるいはコールバックにより呼び出される関数から参照できます。しかし、コマンド ラインから呼び出される関数からは参照できません。このオプションを使用すると、コマンド ラインからのオブジェクトへのアクセスがブロックされますが、コールバック関数からのアクセスは許可されます。
オブジェクトが親の Children プロパティ内にリストされない場合、オブジェクト階層の検索またはハンドル プロパティのクエリによってオブジェクト ハンドルを取得する関数は、そのオブジェクト ハンドルを返しません。こうした関数の例としては、関数 get、findobj、gca、gcf、gco、newplot、cla、clf、および close などが挙げられます。
非表示のオブジェクト ハンドルは有効なままです。ルートの ShowHiddenHandles プロパティを "on" に設定すると、HandleVisibility プロパティの設定にかかわらず、すべてのオブジェクト ハンドルがリストされます。
識別子
この プロパティ は読み取り専用です。
グラフィックス オブジェクトのタイプ。'legend' として返されます。このプロパティを使用して、プロット階層内にある特定のタイプのすべてのオブジェクトを見つけます。
オブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。オブジェクトの識別子として機能する一意の Tag 値を指定できます。コードの他の部分からオブジェクトにアクセスする必要がある場合、関数 findobj を使用して Tag 値に基づいてオブジェクトを検索できます。
ユーザー データ。任意の MATLAB 配列として指定します。たとえば、スカラー、ベクトル、行列、cell 配列、文字配列、table、または構造体を指定できます。このプロパティを使用して、任意のデータをオブジェクトに保存します。
App Designer を使用している場合は、UserData プロパティを使用する代わりに、アプリでパブリック プロパティまたはプライベート プロパティを作成してデータを共有します。詳細については、App Designer アプリ内でのデータの共有を参照してください。
バージョン履歴
R2014b で導入IconColumnWidth プロパティを設定することで、凡例アイコンの幅および凡例ボックスの幅を制御します。凡例にマーカー アイコンのみが含まれている場合、MATLAB はアイコンの周囲の空白を自動的に最小化します。以前は、凡例にはマーカー アイコンの周囲に余分な空白が含まれていました。
BackgroundAlpha プロパティを 0 (完全な透明) と 1 (不透明) の間の値に設定して、凡例ボックスの背景の透明度を制御します。
凡例の Direction プロパティを "normal" または "reverse" に設定して、凡例項目の順序を制御します。
積み上げ型 (垂直) の棒グラフと面グラフの凡例項目の既定の順序が、グラフの重なり順序と一致するように反転されました。以前は、積み上げ型の棒グラフと面グラフの順序とは逆の順序で凡例項目が表示されていました。
以前のリリースの順序を維持するには、凡例の Direction プロパティを "normal" に設定します。

line オブジェクトや scatter オブジェクトなどのオブジェクトを座標軸から削除すると、AutoUpdate プロパティが "on" または "off" に設定されているかどうかに関係なく、変更内容を反映して凡例が更新されます。
以前は、AutoUpdate プロパティが "off" に設定されている場合は、座標軸からオブジェクトを削除しても凡例は更新されませんでした。
UIContextMenu プロパティの設定や取得は推奨されていません。代わりに、ContextMenu プロパティを使用してください。これは、UIContextMenu プロパティと同じタイプの入力を受け入れ、同じように動作します。
UIContextMenu プロパティを削除する予定はありませんが、関数 set、get、または properties を Legend オブジェクトで呼び出す際にリストされなくなりました。
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)
















