凡例に追加せずに、グラフ内に線を引く

57 次查看(过去 30 天)
Mamoru Mabuchi
Mamoru Mabuchi 2020-6-17
グラフ内に線を引きたいのですが、勝手に凡例に追加されてしまいます。
凡例に追加せずに、線だけをプロットする方法を教えてください。
x=1:10;
y=sin(x);
plot(x,y)
legend('sin')
xline(4) % 線だけひきたい

回答(3 个)

michio
michio 2020-6-18
x=1:10;
y=sin(x);
plot(x,y)
legend('sin')
xline(4) % 線だけひきたい
と実行したときに凡例として 'sin' に加えて 'data1' が出てきてしまうのが問題ということですね。
例えば特定の線にだけ凡例を付ける場合は、その線のオブジェクト(下記 h1 と h2)にだけ凡例を付ける・・という呼び出し方があります。
x=1:10;
y=sin(x);
h1 = plot(x,y);
h2 = xline(4);
legend(h1, 'sin')
ただ、この後にさらに xline(5) と実行するとまた新たに判例が追加されてしまいます・・。ですので、プロットするものが最後まで終わった時に legend を実行しなければいけないという点は、多少不便ですね。
次は、描いた線のプロパティを変更する方法です。以下でも紹介されています。
具体的には、
x=1:10;
y=sin(x);
plot(x,y)
legend('sin')
h2 = xline(4)
h2.HandleVisibility = 'off';
という形で xline で描いた線のオブジェクトの持つ、'HandleVisiblity''off' にすることで凡例には反映されなくなります。
他にもよいやり方があればコメントください。参考になりましたら。

Kenta
Kenta 2020-6-18
legend('sin')
を消去したらいかがでしょうか?

Mamoru Mabuchi
Mamoru Mabuchi 2020-6-21
解決しました。ご回答ありがとうございました。

类别

Help CenterFile Exchange 中查找有关 2 次元および 3 次元プロット 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!