MATLAB: 特定のプロットに対してだけlegend (凡例) を表示させる方法

MATLABで複数のプロットのlegendは、通常はプロットの順番に設定する。一部のプロットだけにlegend (凡例)をつけたい時は、凡例を入れたいグラフィクス・オブジェクトを指定すれば良い。

具体的なやり方を示そう。

オブジェクト o1, o2にそれぞれ “legend1”, “legend2″を凡例として入れたいときは次のようにする:

legend([o1 o2] ,{"legend1", "legend2"})

ここでは o1 と o2 が plot の戻り値(Lineオブジェクト)で、凡例に表示したい順に配列で渡す。

下は例は、四つプロットさせて、そのうちの二つだけに凡例をつける場合:

x = -pi:pi/20:pi;

figure(1)
clf(1)
hold on
% プロット (plot関数の返り値を変数に格納しておく)
p1 = plot(x, cos(x), ':');
p2 = plot(x, sin(x), '-');
p3 = plot(x, tan(x), '-.');
p4 = plot(x, exp(x), '-.');
hold off

% 軸のレンジ設定
xlim([-pi pi])
ylim([-2 2])

% 特定のプロットにだけ凡例を表示させる例
legend([p1 p2], {"cos(x)", "sin(x)"})
example of legend