2016-06-21 108 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