如何从现有图例中删除条目?

时间:2016-04-16 10:39:55

标签: matlab matlab-figure

我有一个Matlab图,让我们说它是MyFigure.fig。该图有12条曲线及其各自的图例条目。但是,我想删除其中一条曲线及其图例。曲线很容易删除(只需用光标选择并按删除),但当我尝试删除它的图例时,我只能删除名称。

我一直在寻找这个,我找到了其他方法。我发现下一个链接的信息很有帮助

http://es.mathworks.com/help/matlab/creating_plots/controlling-legends.html

但是,我无法执行它。我在这里找到的主要问题是:

  • 如果我尝试这样做,我没有问题:

    Example (not my case):
    x=0:0.01:pi;
    y=sin(x);   H=plot(x,y);
    hAnnotation = get(H, 'Annotation');
    
  • 但是,在我的情况下,我不必使用“情节”,因为我已经有了这个数字。所以,当我打开它并尝试获取它的句柄(通过 H = gcf H = gca )然后,我编写代码

    hAnnotation = get(H, 'Annotation');
    

我有下一个错误:

  1. 名称“注释”不是实例的可访问属性 class'fig'(在gcf的情况下)
  2. 名称“注释”不是实例的可访问属性 class' axes'(在gca的情况下)

1 个答案:

答案 0 :(得分:0)

嗯,你的代码中有几点是错误的。直接问你的问题,这就是我的建议:

据我所知,这是问题和回答here同样的问题,但反过来说: 您要删除图例的条目,而不是添加信息。 事实上,这导致完全相同的事情:您想要更新图例。 因此,您可以使用上述问题中描述的相同方法:

如果您绘制某些内容,请使用'DisplayName'参数。在您的示例中,那将是:

plot(x,y, 'DisplayName', 'myNameForThisLineGoesHere');
%now, after you added OR removed a line (etc.), you have to update the legend:
legend('off'); legend('on')