ドキュメンテーション

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

legend

グラフへの凡例の追加

構文

  • legend(label1,...,labelN)
  • legend(label1,...,labelN,'Location',Value)
  • legend(___,'Orientation',Value)
  • legend(labels)
  • legend(labels,Name,Value)
  • legend(obj,___)
  • legend('show')
  • legend('hide')
  • legend('toggle')
  • legend('off')
  • legend('boxon')
  • legend('boxoff')
  • legend(ax,___)
  • l = legend(___)
  • [l,icons,plots,txt] = legend(___)

説明

legend(label1,...,labelN) は、指定されたラベルを使用して現在の座標軸に凡例を作成します。凡例では、関連付けられたオブジェクトのアイコンが各ラベルの横に表示されます。ラベルは文字ベクトルのコンマ区切りリストとして、たとえば legend('Jan','Feb','Mar') のように指定します。

legend(label1,...,labelN,'Location',Value) は凡例の位置を指定します。Value を、'northoutside' などの位置オプションに設定します。オプションのリストは、Location プロパティを参照してください。

legend(___,'Orientation',Value) は、凡例の向きを指定します。このオプションは、前述の構文における入力引数のいずれの組み合わせの後でも使用できます。Value は、'vertical' または 'horizontal' のいずれかに設定します。詳細は、Orientation プロパティを参照してください。

legend(labels) は、指定されたラベルを使用して現在の座標軸に凡例を作成します。labels は、たとえば legend({'Jan','Feb','Mar'}) のように、セル配列または行列として指定します。

legend(labels,Name,Value) は凡例のプロパティを指定します。たとえば、'FontSize',12 はフォント サイズを 12 ポイントに設定します。プロパティの一覧については、Legend のプロパティ を参照してください。

legend(obj,___) は、凡例に含めるチャートを指定します。obj をグラフィックス オブジェクトのベクトルとして指定します。このオプションは、前述の構文における任意の入力引数の組み合わせより前に指定できます。

legend('show') は現在の座標軸の凡例を表示させます。凡例が存在しない場合は MATLAB® によって凡例が作成され、チャートの DisplayName プロパティを使用してラベルが設定されます。チャートに DisplayName プロパティ値がない場合、ラベルは 'data1''data2' などの形式になります。

legend('hide') は、現在の座標軸に関連付けられている凡例を非表示にします。凡例を非表示にしても削除はされません。

legend('toggle') は、凡例の表示/非表示を切り替えます。凡例が存在しない場合は MATLAB によって凡例が作成されます。

legend('off') は、現在の座標軸から凡例を削除します。

legend('boxon') は、凡例の周囲にボックスを表示します。

legend('boxoff') は、凡例の周囲のボックスを削除します。

legend(ax,___) は現在の座標軸 (gca) の代わりに ax で指定される座標軸を使用します。オプションの ax は、前記の入力引数の組み合わせより優先されます。

l = legend(___) は legend オブジェクトを返します。l を使用して、凡例の作成後にそのプロパティのクエリと設定を行います。

    メモ:   R2014b から、関数 legend で legend オブジェクトが返されるようになりました。以前のリリースでは axes オブジェクトが返されていました。

[l,icons,plots,txt] = legend(___) は、上記に加え、凡例アイコンの作成に使用されたオブジェクト、グラフにプロットされるオブジェクトおよびラベルの配列を返します。

    メモ:   この構文は推奨されておらず、グラフィックス機能すべてには対応しない凡例が作成されます。代わりに、l = legend(__) 構文を使用して legend オブジェクトを返し、Legend のプロパティ を設定してください。

すべて折りたたむ

2 本のラインをプロットし、凡例をチャートに追加します。

x = -pi:pi/20:pi;
y1 = sin(x);
y2 = cos(x);
plot(x,y1,'-ro',x,y2,'-.b')
legend('sin(x)','cos(x)')

2 本のラインをプロットします。'Location' プロパティを 'northwest' に設定して、座標軸の左上隅に凡例を追加します。

x = -pi:pi/20:pi;
y1 = sin(x);
y2 = cos(x);
plot(x,y1,'-ro',x,y2,'-.b')
legend('sin(x)','cos(x)','Location','northwest')

2 本のラインをプロットし、座標軸の上方に水平方向に並んだ凡例を追加します。

x = -pi:pi/20:pi;
y1 = sin(x);
y2 = cos(x);
plot(x,y1,'-ro',x,y2,'-.b')
legend('sin(x)','cos(x)','Location','northoutside','Orientation','horizontal')

凡例付きのチャートを作成します。その後、凡例にタイトルを追加します。

x = -pi:pi/20:pi;
y1 = sin(x);
y2 = cos(x);
plot(x,y1,x,y2)
l = legend('sin(x)','cos(x)');
title(l,'My Legend Title')

データ xydata および ycos を作成します。ydataycos をプロットします。小さい太字フォントの凡例を追加します。凡例の作成時に Name,Value ペアを指定するには、セル配列を使用してラベルを指定します。

x = linspace(0,4*pi,100);
ydata = cos(x) + 0.5*randn(1,100);
ycos = cos(x);
plot(x,ydata,'*',x,ycos)
legend({'Collected Data','y = cos(x)'},'FontSize',8,'FontWeight','bold')

関数 plot からラインを 5 つプロットし、chart line オブジェクトを返します。

x = linspace(0,3*pi);
y1 = sin(x);
p1 = plot(x,y1);

y2 = sin(x - pi/4);
hold on
p2 = plot(x,y2);

y3 = sin(x - pi/2);
p3 = plot(x,y3);

y4 = sin(x - 3*pi/4);
p4 = plot(x,y4);

y5 = sin(x - pi);
p5 = plot(x,y5);
hold off

最初のライン p1 と最後のライン p5 の凡例を追加します。

legend([p1,p5],'sin(x)','sin(x-\pi)')

ステム グラフと線グラフを組み合わせます。凡例を座標軸の左下隅に追加し、凡例の境界線を削除します。

x = linspace(0,2*pi,50);
ysin = sin(x);
stem(x,ysin)
hold on
ycos = cos(x);
plot(x,ycos)
hold off

legend('sin(x)','cos(x)','Location','southwest')
legend('boxoff')

2 つの散布図を組み合わせます。axis equal を使用して、x 軸と y 軸の両方で均一なスケーリングを設定します。Position プロパティを指定して、座標軸の中央に凡例を追加します。凡例の作成時に Position プロパティを設定するには、中かっこ {} を使用して凡例のラベルをセル配列として定義します。

theta = linspace(0,2*pi,100);
x1 = sin(theta);
y1 = cos(theta);
scatter(x1,y1)

x2 = 2*sin(theta);
y2 = 2*cos(theta);
hold on
scatter(x2,y2,'*g')
hold off
axis equal

legend({'radius = 1','radius = 2'},'Position',[0.39,0.45,0.25,0.1])

正弦および余弦のプロットを作成して、凡例を追加します。

x = linspace(0,2*pi,50);
ysin = sin(x);
ycos = cos(x);
plot(x,ysin,x,ycos)
legend('sine','cosine')

凡例を削除します。

legend('off')

2 つのサブプロットを含む Figure を作成し、2 つの axes オブジェクト ax1 および ax2 を返します。乱数データを各サブプロットにプロットします。ax1legend の最初の入力引数として指定することで、上のサブプロットに凡例を追加します。

y1 = rand(3);
ax1 = subplot(2,1,1);
plot(y1)

y2 = rand(5);
ax2 = subplot(2,1,2);
plot(y2)

legend(ax1,'Line 1','Line 2','Line 3')

関連する例

入力引数

すべて折りたたむ

各オブジェクトのラベル。文字ベクトルのコンマ区切りリストとして指定します。

例: legend('Sine Function','Cosine Function')

凡例では、オブジェクトが座標軸の Children プロパティ内に挙げられている順序と同順で、ラベルがオブジェクトに関連付けられます。MATLAB によって、凡例の String プロパティが指定のラベルに設定されます。MATLAB ではまた、オブジェクトの DisplayName プロパティも指定のラベルに設定されます。

ラベルを指定しないと、legend ではオブジェクトの DisplayName プロパティが代わりに使用されます。オブジェクトに DisplayName プロパティがない場合、またはこのプロパティに値が定義されていない場合、legend では 'data1''data2' のような形式のラベルが使用されます。

'Location''off' などのキーワードを汎用のラベルとして使用するには、代わりに、labels 入力引数を使用します。

各オブジェクトの説明。文字ベクトルのセル配列または文字ベクトルの行列として指定します。

例: legend({'Sine Function','Cosine Function'})

labels が行列である場合、関数 legend は行列の各行を使用して一連のデータにラベルを付けます。凡例では、オブジェクトが座標軸の Children プロパティ内に挙げられている順序と同順で、ラベルがオブジェクトに関連付けられます。

MATLAB によって、凡例の String プロパティが指定のラベルに設定されます。MATLAB ではまた、オブジェクトの DisplayName プロパティも指定のラベルに設定されます。

ラベルを指定しないと、legend ではオブジェクトの DisplayName プロパティが代わりに使用されます。オブジェクトに DisplayName プロパティがない場合、またはこのプロパティに値が定義されていない場合、legend では 'data1''data2' のような形式のラベルが使用されます。

凡例に含めるグラフィックス オブジェクトのリスト。ベクトルとして指定します。グラフのすべてのオブジェクトに説明を追加するわけではない場合は、オブジェクトを指定すると便利です。

凡例に含めることができるグラフィックス オブジェクトは以下のとおりです。

  • animated line オブジェクト

  • area オブジェクト

  • bar series オブジェクト

  • chart line オブジェクト

  • chart surface オブジェクト

  • contour オブジェクト

  • errorbar series オブジェクト

  • グループ オブジェクト

  • histogram オブジェクト

  • patch オブジェクト

  • primitive line オブジェクト

  • primitive surface オブジェクト

  • quiver series オブジェクト

  • scatter series オブジェクト

  • stair オブジェクト

  • stem series オブジェクト

  • transform オブジェクト

axes オブジェクト。axes オブジェクトを指定しない場合、関数 legend は現在の座標軸に凡例を追加します。

名前/値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: 'FontSize',12,'TextColor','blue'

ここでは、プロパティの一部だけを紹介しています。完全な一覧については、Legend のプロパティ を参照してください。

すべて折りたたむ

座標軸に対する相対的な位置。次の表に挙げる位置の値のいずれかとして指定します。

説明
'north'座標軸内の上部
'south'座標軸内の下部
'east'座標軸内の右側
'west'座標軸内の左側
'northeast'座標軸内の右上部 (2 次元座標軸の既定値)
'northwest'座標軸内の左上部
'southeast'座標軸内の右下部
'southwest'座標軸内の左下部
'northoutside'座標軸外の上部
'southoutside'座標軸外の下部
'eastoutside'座標軸外の右側
'westoutside'座標軸外の左側
'northeastoutside'座標軸外の右上隅 (3 次元座標軸の既定値)
'northwestoutside'座標軸外の左上隅
'southeastoutside'座標軸外の右下隅
'southwestoutside'座標軸外の左下隅
'best'プロット ボックス内でデータとの接触が最も回避できる座標軸内の場所
'bestoutside'座標軸外の右側
'none'Position プロパティに依存

この表に一覧表示されていない位置に凡例を表示するには、Position プロパティを使用してカスタムの位置を指定します。Position プロパティを設定すると、MATLAB は自動的に Location プロパティを 'none' に設定します。

向き。次の値の 1 つとして指定します。

  • 'vertical' — 凡例の項目を垂直方向に重ねて表示します。これは既定値です。

  • 'horizontal' — 凡例の項目を横に並べて表示します。

例: 'horizontal'

ボックスの外枠。次の値のいずれかとして指定します。

  • 'on' — 凡例の周囲にボックスを表示します。これは既定値です。

  • 'off' — 凡例の周囲のボックスを削除します。

例: 'off'

凡例のラベル。セル配列として指定します。String プロパティを設定するか、または関数 legend への入力としてラベルを指定すると、MATLAB では指定されたラベルが使用されます。ラベルを指定しない場合、MATLAB ではオブジェクトの DisplayName プロパティか、'data1''data2' などの形式のラベルが使用されます。String プロパティは、使用されるラベルを反映するよう更新されます。

例: {'Sine','Cosine','Tangent'}

テキスト文字の解釈。次の値の 1 つとして指定します。

  • 'tex' — TeX マークアップのサブセットを使用して文字を解釈します。

  • 'latex' — LaTeX マークアップを使用して文字を解釈します。

  • 'none' — リテラル文字を表示します。

TeX マークアップ

MATLAB では、既定で TeX マークアップのサブセットをサポートしています。TeX マークアップを使用して、上付き文字や下付き文字の追加、フォントのタイプや色の変更、テキストへの特殊文字の挿入を行うことができます。

次の表に、Interpreter プロパティが 'tex' に設定されている場合にサポートされる修飾子を示します。修飾子の効果はテキストの末尾まで適用されます。上付き文字と下付き文字は例外であり、次の 1 文字または中かっこで囲まれた文字にのみ適用されます。

修飾子説明
^{ }上付き文字'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}フォントの色 — specifer で色を指定します。redgreenyellowmagentablueblackwhitegraydarkGreenorangelightBlue を指定できます。'\color{magenta} text'
\color[rgb]{specifier}独自のフォントの色 — specifier で RGB 3 成分を指定します。'\color[rgb]{0,0.5,0.5} text'

次の表に、Interpreter プロパティが '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 マークアップを使用するには、Interpreter プロパティを 'latex' に設定します。テキストをドル記号で囲みます。たとえば、インライン モードでは '$\int_1^{20} x^2 dx$'、表示モードでは '$$\int_1^{20} x^2 dx$$' を使用します。

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

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

LaTeX システムについての詳細は、LaTeX プロジェクトの Web サイト (http://www.latex-project.org/) を参照してください。

テキストの色。RGB 3 成分または色名の文字ベクトルとして指定します。既定の色は、RGB 3 成分の値 [0,0,0] で指定する黒です。

RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。次の表に、色の完全名および省略名のオプションと、等価の RGB 3 成分の値を示します。

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

例: [0,0,1]

例: 'blue'

フォント サイズ。ポイント単位のゼロより大きいスカラー値として指定します。既定値は 9 ポイントです。座標軸のフォント サイズを変更すると、legend のフォント サイズは MATLAB によって自動的に座標軸のフォント サイズの 90% に設定されます。legend のフォント サイズを手動で設定した場合は、座標軸のフォント サイズを変更しても legend の値は変更されません。

例: 12

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

出力引数

すべて折りたたむ

legend オブジェクト。作成後に凡例を変更するには、l を使用します。

凡例アイコンとラベルの作成に使用するオブジェクト。text、patch、line の各オブジェクトとして返されます。

座標軸でプロットされるオブジェクト。オブジェクトのベクトルとして返されます。

凡例のラベル。セル配列として返されます。

詳細

すべて折りたたむ

ヒント

  • 座標軸に設定できる凡例は 1 つだけです。

  • 凡例内の 20 を超えるオブジェクトにラベルを付けるには、各オブジェクトにラベルを指定しなければなりません。そうしないと、legend は最初の 20 個のオブジェクトのみをグラフに示します。

参考

関数

プロパティ

R2006a より前に導入

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