我有一个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');
我有下一个错误:
答案 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')