Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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" となります。

説明

"normal"

最初の項目を一番上に、最後の項目を一番下にリストします。

Plot with a legend that has the entries listed from top to bottom

"reverse"

最初の項目を一番下に、最後の項目を一番上にリストします。

Plot with a legend that has the entries listed from bottom to top

R2023b 以降

Direction 値の選択モード。次の値のいずれかとして指定します。

  • "auto" — 値を自動で選択します。

  • "manual" — 手動で指定した値を使用します。値を指定するには、Direction プロパティを設定します。

カスタムの位置とサイズ。[left bottom width height] の形式の 4 要素ベクトルとして指定します。最初の 2 つの値 leftbottom は、Figure の左下隅から凡例の左下隅までの距離を指定します。最後の 2 つの値 widthheight は、凡例のサイズを指定します。位置の単位は 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'

既定のシステム フォントの文字サイズを基準にします。

  • 文字の幅 = 文字 x の幅。

  • 文字の高さ = 2 行のテキストのベースライン間の距離。

'points'ポイント。1 ポイントは 1/72 インチです。
'pixels'

ピクセル。

R2015b 以降、Windows® および Macintosh システムにおいて、ピクセル単位の距離はシステム解像度に依存しません。

  • Windows システムの 1 ピクセルは 1/96 インチです。

  • Macintosh システムの 1 ピクセルは 1/72 インチです。

  • Linux® システムでは、ピクセルのサイズは使用しているシステムの解像度によって決まります。

すべての単位は、コンテナー ウィンドウの左下隅から測定されます。

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

オブジェクトの作成時に Position プロパティと Units プロパティを Name,Value のペアとして指定する場合は、指定する順序が重要です。特定の単位で位置を定義するには、Units プロパティを設定してから Position プロパティを設定しなければなりません。

レイアウト オプション。TiledChartLayoutOptions オブジェクトとして指定します。このプロパティは、凡例がタイル表示チャート レイアウトにある場合に役立ちます。

タイル表示チャート レイアウトのグリッド内に凡例を配置するには、Tile プロパティを TiledChartLayoutOptions オブジェクトに設定します。たとえば、3 行 3 列のタイル表示チャート レイアウトについて考えます。レイアウトの中央にタイルのグリッドがあり、外側のエッジに沿って 4 つのタイルがあります。実際には、グリッドは非表示であり、座標軸またはその他のオブジェクトが入力されるまで、外側のタイルは領域を占有しません。

Diagram of a 3-by-3 tiled chart layout.

次のコードは、凡例 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{specifier}フォント名 — specifier をフォント ファミリの名前に置き換えます。これは他の修飾子と組み合わせて使用できます。'\fontname{Courier} text'
\fontsize{specifier}フォント サイズ — specifier をポイント単位の数値スカラーに置き換えます。'\fontsize{15} text'
\color{specifier}フォントの色 — specifier を、redgreenyellowmagentablueblackwhitegraydarkGreenorangelightBlue の色のいずれかに置き換えます。'\color{magenta} text'
\color[rgb]{specifier}フォントのカスタムの色 — specifier を RGB 3 成分に置き換えます。'\color[rgb]{0,0.5,0.5} text'

次の表に、'tex' インタープリターでサポートされる特殊文字を示します。

文字列記号文字列記号文字列記号

\alpha

α

\upsilon

υ

\sim

~

\angle

\phi

ϕ

\leq

\ast

*

\chi

χ

\infty

\beta

β

\psi

ψ

\clubsuit

\gamma

γ

\omega

ω

\diamondsuit

\delta

δ

\Gamma

Γ

\heartsuit

\epsilon

ϵ

\Delta

Δ

\spadesuit

\zeta

ζ

\Theta

Θ

\leftrightarrow

\eta

η

\Lambda

Λ

\leftarrow

\theta

θ

\Xi

Ξ

\Leftarrow

\vartheta

ϑ

\Pi

Π

\uparrow

\iota

ι

\Sigma

Σ

\rightarrow

\kappa

κ

\Upsilon

ϒ

\Rightarrow

\lambda

λ

\Phi

Φ

\downarrow

\mu

µ

\Psi

Ψ

\circ

º

\nu

ν

\Omega

Ω

\pm

±

\xi

ξ

\forall

\geq

\pi

π

\exists

\propto

\rho

ρ

\ni

\partial

\sigma

σ

\cong

\bullet

\varsigma

ς

\approx

\div

÷

\tau

τ

\Re

\neq

\equiv

\oplus

\aleph

\Im

\cup

\wp

\otimes

\subseteq

\oslash

\cap

\in

\supseteq

\supset

\lceil

\subset

\int

\cdot

·

\o

ο

\rfloor

\neg

¬

\nabla

\lfloor

\times

x

\ldots

...

\perp

\surd

\prime

´

\wedge

\varpi

ϖ

\0

\rceil

\rangle

\mid

|

\vee

\langle

\copyright

©

LaTeX マークアップ

LaTeX マークアップを使用するには、インタープリターを 'latex' に設定します。インライン モードでは、マークアップを 1 つのドル記号 ($) で囲みます。表示モードでは、マークアップを 2 つのドル記号 ($$) で囲みます。

LaTeX モード結果
インライン

'$\int_1^{20} x^2 dx$'

Equation with LaTeX inline mode

表示

'$$\int_1^{20} x^2 dx$$'

Equation with LaTeX display mode

テキストは LaTeX の既定のフォント スタイルで表示され、FontNameFontWeightFontAngle のプロパティは無視されます。フォント スタイルを変更するには、LaTeX マークアップを使用します。

LaTeX インタープリターで使用できるテキストの最大サイズは 1200 文字です。複数行のテキストの場合は、さらに 1 行につき 10 文字ほど文字数が少なくなります。

TeX および LaTeX の使用例については、チャートのテキスト内のギリシャ文字と特殊文字を参照してください。LaTeX システムの詳細については、LaTeX プロジェクトの Web サイト (https://www.latex-project.org/) を参照してください。

フォント

すべて展開する

フォント名。サポートされているフォント名または "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"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"該当なし該当なし該当なし色なし

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

例: [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"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"該当なし該当なし該当なし色なし

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

例: 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"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"該当なし該当なし該当なし色なし

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

例: legend({'A','B'},'EdgeColor',[0 1 0])

ボックスの外枠の表示。'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

クリックのタイプ。次の値のいずれかとして返されます。

  • 'normal' — 左マウス ボタンをシングルクリック

  • 'extend'Shift キーを押しながら、左マウス ボタンをシングルクリック

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

  • 'alt' — 右マウス ボタン、両方のマウス ボタン (Windows および Mac) または中央のマウス ボタン (Mac および Linux) をシングルクリック。ContextMenu プロパティに有効なコンテキスト メニューが含まれる場合 (既定の設定)、このタイプのクリックは、ItemHitFcn コールバックをトリガーする代わりにコンテキスト メニューを開きます。

SourceLegend オブジェクト。
EventNameイベント名 'ItemHit'

メモ

ButtonDownFcn プロパティを設定した場合、ItemHitFcn プロパティは無効になります。

凡例内の項目をクリックしたときに、関連付けられたチャートが何らかの方法で更新されるように、対話型の凡例を作成できます。たとえば、チャートの表示/非表示を切り替えたり、ラインの幅を変更したりすることができます。凡例の ItemHitFcn プロパティを、チャートをどのように変更するかを制御するコールバック関数に設定します。この例では、凡例内のチャートのアイコンまたはラベルをクリックしたときにチャートの表示/非表示を切り替える方法を説明します。チャートの Visible プロパティを 'on' または 'off' のいずれかに変更するコールバック関数を作成します。

次のコードを新しい関数ファイルにコピーし、hitcallback_ex1.m として、現在のフォルダーまたは MATLAB 検索パス上のフォルダーのいずれかに保存します。2 つの入力引数 srcevnt は、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;

Line plot containing a legend with four items. The cursor is pointing at the second item, and its label is gray. The associated line is hidden from the plot.

マウスクリック コールバック。次の値のいずれかとして指定します。

  • 関数ハンドル

  • 関数ハンドルと追加の引数を含む 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' の場合、他のコールバックがオブジェクトのコールバックに割り込むことができます。割り込みは、drawnowfigureuifiguregetframewaitforpause コマンドなどの、MATLAB が次にキューを処理するポイントで発生します。

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

    • 実行中のコールバックにこれらのコマンドが含まれていない場合、MATLAB はそのコールバックの実行を割り込みなしで完了します。

  • 値が 'off' の場合、割り込みの試行はすべてブロックされます。割り込みコールバックを所有するオブジェクトの BusyAction プロパティが、その割り込みコールバックを破棄するかキューに入れるかを決定します。

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

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

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

BusyAction プロパティによってコールバック キューイングの動作が決まるのは、次の両方の条件を満たす場合のみです。

  • 実行中コールバックに drawnowfigureuifiguregetframewaitforpause などのコールバック キューを処理するコマンドが含まれている。

  • 実行中コールバックを所有するオブジェクトの Interruptible プロパティの値が 'off' である。

これらの条件に当てはまる場合、割り込みコールバックを所有するオブジェクトの 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 プロパティ内にリストされない場合、オブジェクト階層の検索またはハンドル プロパティのクエリによってオブジェクト ハンドルを取得する関数は、そのオブジェクト ハンドルを返しません。こうした関数の例としては、関数 getfindobjgcagcfgconewplotclaclf、および close などが挙げられます。

非表示のオブジェクト ハンドルは有効なままです。ルートの ShowHiddenHandles プロパティを "on" に設定すると、HandleVisibility プロパティの設定にかかわらず、すべてのオブジェクト ハンドルがリストされます。

識別子

すべて展開する

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

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

オブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。オブジェクトの識別子として機能する一意の Tag 値を指定できます。コードの他の部分からオブジェクトにアクセスする必要がある場合、関数 findobj を使用して Tag 値に基づいてオブジェクトを検索できます。

ユーザー データ。任意の MATLAB 配列として指定します。たとえば、スカラー、ベクトル、行列、cell 配列、文字配列、table、または構造体を指定できます。このプロパティを使用して、任意のデータをオブジェクトに保存します。

App Designer を使用している場合は、UserData プロパティを使用する代わりに、アプリでパブリック プロパティまたはプライベート プロパティを作成してデータを共有します。詳細については、App Designer アプリ内でのデータの共有を参照してください。

バージョン履歴

R2014b で導入

すべて展開する