ドキュメンテーション

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

legend

グラフへの凡例の追加

構文

  • legend('string1',...,'stringN')
  • legend('string1',...,'stringN','Location',Value)
  • legend(___,'Orientation',Value)
  • legend(strings)
  • legend(strings,Name,Value)
  • legend(entries,___)
  • legend('boxon')
  • legend('boxoff')
  • legend('hide')
  • legend('show')
  • legend('toggle')
  • legend('off')
  • legend(ax,___)
  • h = legend(___)
  • [h,icons,plots,str] = legend(___)

説明

legend('string1',...,'stringN') は、各データセットのラベルに指定した文字列を使用して、現在の座標軸に凡例を作成します。凡例は、関連付けられたオブジェクトのアイコンを各文字列の横に表示します。

legend('string1',...,'stringN','Location',Value) は、凡例の位置を指定します。Value'northoutside' などの位置文字列に設定します。文字列のリストについては、Location プロパティを参照してください。

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

legend(strings) は、現在の座標軸に凡例を作成し、strings 内のエントリを使用して各データのセットにラベルを付けます。strings を文字列のセル配列または文字列の行列のいずれかとして指定します。

legend(strings,Name,Value) は、凡例のプロパティを指定します。凡例を作成するときに LocationOrientation 以外の Name,Value ペアを指定する場合は、この構文を使用します。たとえば、'FontSize',12 はフォント サイズを 12 ポイントに設定します。

legend(entries,___) は、オブジェクトの凡例エントリをベクトル entries によって指定されたグラフに表示します。グラフ内のいくつかのオブジェクトのみに凡例エントリを表示する場合は、この構文を使用します。オプションの entries は、前記の構文のすべての入力引数の組み合わせより前に指定できます。

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

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

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

legend('show') は現在の座標軸の凡例を表示させます。凡例が存在しない場合は、MATLAB® は既定の文字列を使用して凡例を作成します。

legend('toggle') は、凡例の表示/非表示を切り替えます。凡例が存在しない場合は、MATLAB は既定の文字列を使用して凡例を作成します。

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

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

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

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

[h,icons,plots,str] = legend(___) は、凡例アイコン、グラフでプロットされるオブジェクトおよびテキスト文字列の配列を作成するために使用されるオブジェクトをさらに返します。

すべて折りたたむ

グラフへの凡例の追加

正弦および余弦のグラフを作成します。グラフに 2 つの関数を示す凡例を追加します。

x = -pi:pi/20:pi;
y1 = sin(x);
y2 = cos(x);

figure
plot(x,y1,'-ro',x,y2,'-.b')
legend('sin(x)','cos(x)')

凡例の位置の指定

正弦および余弦のグラフを作成します。'Location' プロパティを 'northwest' に設定して、グラフの左上隅に凡例を追加します。

x = -pi:pi/20:pi;
y1 = sin(x);
y2 = cos(x);

figure
plot(x,y1,'-ro',x,y2,'-.b')
legend('sin(x)','cos(x)','Location','northwest')

グラフの上に凡例を水平方向に追加

正弦および余弦のグラフを作成します。座標軸の上に凡例を水平方向に追加します。

x = -pi:pi/20:pi;
y1 = sin(x);
y2 = cos(x);

figure
plot(x,y1,'-ro',x,y2,'-.b')
legend('sin(x)','cos(x)','Location','northoutside','Orientation','horizontal')

凡例のフォント サイズの変更

xydataycos のデータを定義します。

rng default % initialize random number generator
x = linspace(0,4*pi,100);
ydata = cos(x) + 0.5*randn(1,100);
ycos = cos(x);

ydataycos をプロットします。小さい太字フォントを使用してグラフに凡例を追加します。凡例の作成時に Name,Value のペアを指定するには、中かっこ {} を使用して凡例の説明文字列をセル配列として指定しなければなりません。

figure
plot(x,ydata,'*',x,ycos)
legend({'Collected Data','y = cos(x)'},'FontSize',8,'FontWeight','bold')

凡例にラインのサブセットを表示

データを定義します。

x = linspace(0,3*pi);
y1 = sin(x);
y2 = sin(x - pi/4);
y3 = sin(x - pi/2);
y4 = sin(x - 3*pi/4);
y5 = sin(x - pi);

データをプロットして、チャート ラインのハンドルを返します。

figure
hLine1 = plot(x,y1);
hold all
hLine2 = plot(x,y2);
hLine3 = plot(x,y3);
hLine4 = plot(x,y4);
hLine5 = plot(x,y5);
hold off

最初と最後のラインのハンドル hLine1hLine5 を指定して凡例を追加します。

legend([hLine1,hLine5],'sin(x)','sin(x-\pi)')

凡例の位置を指定して境界線を削除

正弦および余弦のプロットを作成します。座標軸の左下隅に凡例を追加します。

x = linspace(0,2*pi,50);
ysin = sin(x);
ycos = cos(x);

figure
stem(x,ysin)
hold all
plot(x,ycos)
hold off

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

凡例の境界線を削除します。

legend('boxoff')

カスタムの凡例サイズと位置の指定

データを定義します。

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

x2 = 2*sin(theta);
y2 = 2*cos(theta);

2 つの円の散布図を作成します。axis equal を使用して、x 軸と y 軸の両方で均一なスケーリングを設定します。

figure
scatter(x1,y1)
hold on
scatter(x2,y2,'*g')
hold off
axis equal

Position プロパティを使用してグラフの中心に凡例を追加します。凡例の作成時に Position プロパティを設定するには、中かっこ {} を使用して凡例の文字列をセル配列として定義しなければなりません。

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);

figure
plot(x,ysin,x,ycos)
legend('sine','cosine')

凡例を削除します。

legend('off')

凡例の座標軸の指定

2 つのサブプロットを含む Figure を作成し、2 つの Axes ハンドル ax1 および ax2 を返します。乱数データを各サブプロットにプロットします。

rng default % initialize random number generator
y1 = rand(3);
y2 = rand(5);

figure
ax1 = subplot(2,1,1); % upper subplot
plot(y1)

ax2 = subplot(2,1,2); % lower subplot
plot(y2)

座標軸のハンドルを legend に渡して、上のサブプロットに凡例を追加します。

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

関連する例

入力引数

すべて折りたたむ

'string1',...,'stringN' — 各オブジェクトの説明文字列のコンマ区切りリスト

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

MATLAB は、凡例の String プロパティを指定された文字列に設定します。また MATLAB は、オブジェクトの DisplayName プロパティを指定された文字列に指定します。

汎用の文字列を指定しないと、legend は代わりにオブジェクトの DisplayName プロパティを使用します。オブジェクトに DisplayName プロパティがない場合またはこのプロパティに値を定義していない場合、legend'data1''data2' などの書式の文字列を使用します。

例: 'Sine Function','Cosine Function'

strings — 各オブジェクトの説明文字列のセル配列 | 文字列の行列

各オブジェクトの説明。文字列のセル配列または文字列の行列として指定します。strings が行列である場合、関数 legend は行列の各行を使用してデータのセットにラベルを付けます。

MATLAB は、凡例の String プロパティを指定された文字列に設定します。また MATLAB は、オブジェクトの DisplayName プロパティを指定された文字列に指定します。

汎用の文字列を指定しないと、legend は代わりにオブジェクトの DisplayName プロパティを使用します。オブジェクトに DisplayName プロパティがない場合またはこのプロパティに値を定義していない場合、legend'data1''data2' などの書式の文字列を使用します。

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

entries — 凡例に含めるグラフィックス オブジェクトのリストベクトル

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

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

ax — axes オブジェクトaxes オブジェクト

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

名前/値のペアの引数

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

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

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

'Location' — 座標軸に対する位置サポートされている位置文字列

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

サポートされている文字列結果の位置
'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' に設定します。

例: 'northoutside'

'Orientation' — 印刷の向き'vertical' (既定値) | 'horizontal'

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

  • 'vertical' — 凡例のエントリを垂直方向に重ねます。これは既定値です。

  • 'horizontal' — 凡例のエントリを並べて示します。

例: 'horizontal'

'Box' — ボックスの外枠'on' (既定値) | 'off'

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

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

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

例: 'off'

'String' — 凡例エントリの説明文字列のセル配列

凡例エントリの説明。文字列のセル配列として指定します。legend への入力として文字列を指定した場合、MATLAB は String プロパティを指定された文字列に設定し、それらの文字列を凡例の表示に使用します。文字列を指定しない場合、MATLAB ではオブジェクトの DisplayName プロパティまたはフォーム 'data1''data2' などの文字列が使用されます。String プロパティは、凡例のエントリを反映します。

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

'Interpreter' — テキスト文字の解釈'tex' (既定値) | 'latex' | 'none'

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

  • 'tex' — TeX マークアップのサブセットを使用してテキスト文字列を解釈します。これは既定値です。

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

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

TeX マークアップ

MATLAB では、既定で TeX マークアップのサブセットをサポートしています。TeX マークアップを使用して、上付き文字や下付き文字を追加する、テキストのタイプや色を変更する、テキスト文字列に特殊文字を含めることができます。

次の表に、Interpreter プロパティを '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}フォントの色 — specifer で色を指定します。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 マークアップを使用するには、Interpreter プロパティを 'latex' に設定します。テキストは LaTeX の既定のフォント スタイルで表示され、FontNameFontWeightFontAngle のプロパティは無視されます。フォント スタイルを変更するには、テキスト文字列内で LaTeX マークアップを使用します。

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

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

'TextColor' — テキストの色[0,0,0] または 'black' (既定値) | RGB の 3 要素 | サポートされている色文字列

テキストの色。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'

'FontSize' — フォント サイズ9 (既定値) | ゼロより大きいスカラー値

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

例: 12

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

出力引数

すべて折りたたむ

h — legend オブジェクトlegend オブジェクト

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

icons — 凡例アイコンと説明を作成するために使用するオブジェクトtext、patch および line オブジェクト

凡例アイコンと説明を作成するために使用するオブジェクト。text、patch および line オブジェクトとして返されます。

plots — グラフでプロットされるオブジェクトオブジェクトのベクトル

グラフでプロットされるオブジェクト。オブジェクトのベクトルとして返されます。

str — 凡例で使用されるテキスト文字列セル配列

凡例で使用されるテキスト文字列。セル配列として返されます。

詳細

すべて折りたたむ

ヒント

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

  • 'Location' または 'off' などの凡例キーワードを凡例の説明として使用するには、文字列をセル配列で legend に渡す必要があります。たとえば、l = legend({'Location'}) はエントリ Location を含む凡例を表示します。

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

  • legend は、座標軸の Children プロパティのリストと同じ順番で、オブジェクトに文字列を関連付けます。

参考

MATLAB 関数

プロパティ

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