ドキュメンテーション

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

legend

座標軸への凡例の追加

説明

legend は、プロットされたデータ系列ごとに説明ラベルがある凡例を作成します。ラベルについては、凡例ではデータ系列の DisplayName プロパティのテキストが使用されます。DisplayName プロパティが空の場合、凡例では 'dataN' 形式のラベルが使用されます。この凡例は、座標軸でデータ系列を追加または削除すると自動的に更新されます。このコマンドは gca により返された現在の座標軸またはチャートの凡例を作成します。現在の座標軸が空の場合、凡例も空になります。座標軸が存在しない場合、このコマンドは座標軸を作成します。

legend(label1,...,labelN) は凡例のラベルを設定します。ラベルを legend('Jan','Feb','Mar') などの文字ベクトルまたは string のリストとして指定します。

legend(labels) は文字ベクトルの cell 配列、string 配列または文字行列を使用してラベルを設定します (たとえば legend({'Jan','Feb','Mar'}))。

legend(subset,___) には subset にリストされたデータ系列に対する凡例の項目のみが含まれます。subset をグラフィックス オブジェクトのベクトルとして指定します。subset は、ラベルを指定する前に指定することも、他の入力引数がない状態で指定することもできます。

legend(target,___) は、現在の座標軸またはチャートの代わりに target で指定された座標軸、極座標軸またはチャートを使用します。ターゲットを最初の入力引数として指定します。

legend(___,'Location',lcn) は凡例の位置を設定します。たとえば、'Location','northeast' は座標軸の右上隅に凡例を配置します。位置は、他の入力引数の後に指定します。

legend(___,'Orientation',ornt) (ornt'horizontal' の場合) は凡例項目を横に並べて表示します。ornt の既定は 'vertical' で、項目を縦に並べます。

legend(___,Name,Value) は、名前と値のペア引数を 1 つ以上使用して、凡例プロパティを設定します。プロパティの設定時には、cell 配列を使用してラベルを設定しなければなりません (たとえば、legend({'A','B'},'FontSize',12))。ラベルを指定しないようにするには、legend({},'FontSize',12) のように空の cell 配列を使用します。

legend(bkgd) は、bkgd'boxoff' の場合は凡例の背景と外枠を削除します。bkgd の既定は 'boxon' で、凡例の背景と外枠を表示します。

lgd = legend(___) は、Legend オブジェクトを返します。lgd を使用して、凡例の作成後にそのプロパティのクエリと設定を行います。プロパティの一覧については、Legend のプロパティ を参照してください。

legend(vsbl) は凡例の可視性を制御します。vsbl'hide''show' または 'toggle' です。

legend('off') は凡例を削除します。

すべて折りたたむ

2 本のラインをプロットし、凡例を現在の座標軸に追加します。凡例ラベルを関数 legend の入力引数として指定します。

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on 
y2 = cos(2*x);
plot(x,y2)

legend('cos(x)','cos(2x)')

データ系列を座標軸に追加したり削除した場合、凡例はそれに従って更新されます。作成中に DisplayName プロパティを名前と値のペアとして設定し、新しいデータ系列のラベルを制御します。ラベルを指定しない場合、凡例には 'dataN' 形式のラベルが使用されます。

メモ: 座標軸にデータ系列を追加したり削除したときに凡例を自動的に更新しない場合は、凡例の AutoUpdate プロパティを 'off' に設定します。

y3 = cos(3*x);
plot(x,y3,'DisplayName','cos(3x)')
hold off

凡例を削除します。

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'})

2 本のラインをプロットします。DisplayName プロパティを目的のテキストに設定してプロット コマンド中に凡例ラベルを指定します。次に、凡例を追加します。

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1,'DisplayName','cos(x)')

hold on 
y2 = cos(2*x);
plot(x,y2,'DisplayName','cos(2x)')
hold off

legend

4 本のラインをプロットします。座標軸の北西領域に凡例を作成します。NumColumns プロパティを使用して凡例の列数を指定します。

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on
y2 = cos(2*x);
plot(x,y2)

y3 = cos(3*x);
plot(x,y3)

y4 = cos(4*x);
plot(x,y4)
hold off

legend({'cos(x)','cos(2x)','cos(3x)','cos(4x)'},'Location','northwest','NumColumns',2)

既定では、凡例の項目は各列に沿って上から下に並べられます。代わりに項目を各行に沿って左から右に並べるには、Orientation プロパティを 'horizontal' に設定します。

プロットされたグラフィックス オブジェクトの一部を凡例に含めない場合は、含めるグラフィックス オブジェクトを指定できます。

3 本のラインをプロットし、作成された Line オブジェクトを返します。2 本のラインのみを含む凡例を作成します。最初の入力引数を、含める Line オブジェクトのベクトルとして指定します。

x = linspace(0,pi);
y1 = cos(x);
p1 = plot(x,y1);

hold on
y2 = cos(2*x);
p2 = plot(x,y2);

y3 = cos(3*x);
p3 = plot(x,y3);
hold off

legend([p1 p3],{'First','Third'})

2 本のラインをプロットし、凡例を作成します。その後、凡例にタイトルを追加します。

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on
y2 = cos(2*x);
plot(x,y2)
hold off

lgd = legend('cos(x)','cos(2x)');
title(lgd,'My Legend Title')

2 本のラインをプロットし、座標軸の左下隅に凡例を作成します。次に、凡例の背景と外枠を削除します。

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on
y2 = cos(2*x);
plot(x,y2)
hold off

legend({'cos(x)','cos(2x)'},'Location','southwest')
legend('boxoff')

Legend プロパティを設定して凡例の外観を変更します。凡例の作成時に legend コマンドで名前と値のペアを使用してプロパティを設定できます。凡例の作成後に Legend オブジェクトを使用してプロパティを設定することもできます。

ランダム データの 4 本のラインをプロットします。凡例を作成し、Legend オブジェクトを変数 lgd に代入します。名前と値のペアを使用して FontSize プロパティと TextColor プロパティを設定します。名前と値のペアの引数を指定するときは、cell 配列を使用して凡例ラベルを指定しなければなりません。

rdm = rand(4);
plot(rdm)

lgd = legend({'Line 1','Line 2','Line 3','Line 4'},'FontSize',12,'TextColor','blue')

lgd = 
  Legend (Line 1, Line 2, Line 3, Line 4) with properties:

         String: {'Line 1'  'Line 2'  'Line 3'  'Line 4'}
       Location: 'northeast'
    Orientation: 'vertical'
       FontSize: 12
       Position: [0.7088 0.7034 0.1778 0.1957]
          Units: 'normalized'

  Show all properties

凡例の作成後に lgd を参照して凡例を変更します。オブジェクト プロパティ名のドット表記を使用して NumColumns プロパティを設定します。

lgd.NumColumns = 2;

入力引数

すべて折りたたむ

ラベル。文字ベクトルまたは string の個別の引数として指定します。ラベルに特殊文字やギリシャ文字を含めるには、TeX マークアップを使用します。オプションの表は、Interpreter プロパティを参照してください。

例: legend('Sin Function','Cos Function')

例: legend("Sin Function","Cos Function")

例: legend('\gamma','\sigma')

'Location''off' など、キーワードであるラベルを指定するには、文字ベクトルの cell 配列、string 配列または文字配列を使用します。

ラベル。文字ベクトルの cell 配列、string 配列または文字配列として指定します。ラベルに特殊文字やギリシャ文字を含めるには、TeX マークアップを使用します。オプションの表は、Interpreter プロパティを参照してください。

例: legend({'Sin Function','Cos Function'})

例: legend(["Sin Function","Cos Function"])

例: legend(['Sin Function';'Cos Function'])

例: legend({'\gamma','\sigma'})

凡例に含めるデータ系列。グラフィックス オブジェクトのベクトルとして指定します。

凡例のターゲット。Axes オブジェクト、PolarAxes オブジェクトまたは LegendVisible プロパティをもつグラフィックス オブジェクト (GeographicBubbleChart オブジェクトなど) として指定します。ターゲットを指定しない場合、関数 legendgca コマンドにより返された座標軸またはチャートを使用します。

一部のチャートでは、位置などの凡例の外観の変更や Legend オブジェクトを出力引数として返すことはサポートされていません。

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

説明
'north'座標軸内の上部
'south'座標軸内の下部
'east'座標軸内の右側
'west'座標軸内の左側
'northeast'座標軸内の右上部 (2 次元座標軸の既定値)
'northwest'座標軸内の左上部
'southeast'座標軸内の右下部
'southwest'座標軸内の左下部
'northoutside'座標軸外の上部
'southoutside'座標軸外の下部
'eastoutside'座標軸外の右側
'westoutside'座標軸外の左側
'northeastoutside'座標軸外の右上隅 (3 次元座標軸の既定値)
'northwestoutside'座標軸外の左上隅
'southeastoutside'座標軸外の右下隅
'southwestoutside'座標軸外の左下隅
'best'座標軸内のプロット データとの干渉が最も少ない位置
'bestoutside'座標軸外の右上隅 (凡例が縦方向の場合) または座標軸の下 (凡例が横方向の場合)
'none'Position プロパティに依存。Position プロパティを使用して凡例をカスタム位置に表示します。

例: legend('Location','northeastoutside')

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

  • 'vertical' — 凡例の項目を垂直方向に重ねて表示します。

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

例: legend('Orientation','horizontal')

凡例ボックスの表示。次の値のいずれかとして指定します。

  • 'boxon' — 凡例の背景と外枠を表示します。

  • 'boxoff' — 凡例の背景と外枠を表示しません。

例: legend('boxoff')

凡例の可視性。次の値のいずれかとして指定します。

  • 'hide' — 凡例を非表示にします。

  • 'Show' — 凡例を表示します。凡例がない場合は凡例を作成します。

  • 'toggle' — 凡例の表示/非表示を切り替えます。

例: legend('hide')

名前と値のペアの引数

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

例: legend({'A','B'},'TextColor','blue','FontSize',12) は、凡例を青の 12 ポイントのフォントで作成します。

メモ

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

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

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

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

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

例: [0 0 1]

例: 'blue'

例: '#0000FF'

フォント サイズ。ポイント単位のゼロより大きいスカラー値として指定します。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。

座標軸のフォント サイズを変更すると、カラー バーのフォント サイズは MATLAB によって自動的に座標軸のフォント サイズの 90% に設定されます。カラー バーのフォント サイズを手動で設定した場合は、座標軸のフォント サイズを変更してもカラー バーのフォントは影響を受けません。

列数。正の整数として指定します。指定された列数より凡例項目が少ない場合、表示される列数が少なくなることがあります。

各列または各行のいずれに沿って凡例項目を順番に表示するかを制御するには、Orientation プロパティを使用します。

例: lgd.NumColumns = 3

出力引数

すべて折りたたむ

Legend オブジェクト。lgd を使用して、凡例を作成した後にプロパティの表示や変更を行います。

plot(rand(3))
lgd = legend('line1','line2','line3');
lgd.FontSize = 12;
lgd.FontWeight = 'bold';

ヒント

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

アルゴリズム

  • 関数 legend を再呼び出ししても凡例のプロパティ (位置や向きなど) はリセットされません。凡例が存在する場合、関数 legend は既存の凡例を更新します。Axes オブジェクトに設定できる凡例は 1 つだけです。

  • 凡例には、座標軸内のグラフィックス オブジェクトの可視性が反映されます。Visible プロパティが 'off' に設定されているグラフィックス オブジェクトは、凡例においてグレー表示の項目として表示されます。

互換性についての考慮事項

すべて展開する

R2018b での動作変更

R2017b での動作変更

R2017a での動作変更

R2014b での開始は非推奨

R2006a より前に導入