matlab:不输入图例浏览器即可取消输入图例

时间:2019-03-07 23:11:08

标签: matlab plot matlab-figure legend

可以通过执行hh.HandleVisibility='off'来禁止线对象h.Annotation.LegendInformation.IconDisplayStyle='off'的图例条目。但是,这两种操作也都会阻止曲线出现在Matlab的“绘图浏览器”用户界面中,因此无法交互切换曲线的显示。

有什么方法可以抑制给定曲线的图例输入,而又不删除在“曲线浏览器”用户界面中切换该曲线显示的功能?

2 个答案:

答案 0 :(得分:1)

MATLAB的legend函数接受一个可选参数,列出要包含在图例中的句柄:

figure, hold on
h1 = plot(1,1,'ro');
h2 = plot(1,2,'gx');
h3 = plot(2,1,'m*');
legend([h1,h3]);  % don't make a legend for h2.

答案 1 :(得分:0)

您还可以关闭手柄可见性。这比将每个图设置为h1 = ...

容易得多

示例:

x1 = randperm(10);
y = randperm(10);
x2 = randperm(10);

plot(x1, y, '-', 'Color', 'black', 'HandleVisibility', 'off')
hold on
plot(x2, y, '-', 'Color', 'green', 'DisplayName', 'Put This In Legend')
lgd = legend;
set(lgd, 'Location', 'best')