2016-06-21 70 views
3

我需要隐藏图例中的4行。我使用的是shadedErrorBar,所以我有3行用于单组(平均值,标准偏差和底部边缘的上边缘),如果我使用经典代码legend('line1','line2,'...),我将有3个标签。我只想在传说中为每个组别设置平均值。 我有2组。从图例中隐藏行

shadedErrorBar(x,y1,e1); 
shadedErrorBar(x,y2,e2); 

y1y2是我的手段,同时e1e2标准偏差。 我想我应该使用IconDisplayStyle,但我不明白如何。我读了这个http://it.mathworks.com/help/matlab/creating_plots/controlling-legends.html,但是就像隐藏一条plot来隐藏一条线。使用shadedErrorBar,我为每个组都绘制了一个包含3个图的图。 enter image description here

+0

你能提供一个最小的工作的例子吗? – edwinksl

+0

对不起,我每次都忘了。我将添加屏幕截图 – Shika93

回答

2

当您创建图例时,you can specify only the plot objects that you would like to create legend entries forshadedErrorBars的输出是一个包含所有绘图对象的结构,因此您可以使用它们来获取修补程序对象并为创建图例条目,但只有这些。

h1 = shadedErrorBar(linspace(1,10), linspace(1,10), linspace(0,1)); 
hold on 
h2 = shadedErrorBar(linspace(1,10), linspace(1,20), linspace(1,0)); 

legend([h1.patch, h2.patch], {'Item1', 'Item2'}) 

enter image description here

+0

如果我想在图例上显示线条而不是两个彩色框,该怎么办? – Shika93

+0

@ Shika93查看'h1'和'h2'的其他字段,并以相似的方式使用相应的字段。 – Suever

+0

'legend([h1.lin,h2.lin],{'Item1','Item2'})'? – Shika93