2014-11-25 61 views
0

我有兩個5 + 20的數組,我想在一個圖中顯示。如果我添加使用insert legend按鈕,我得到40個條目的傳說傳說Matlab:兩個圖的組圖例條目

figure; 
hold on; 
h1 = plot(hamming_intra, 'bo'); 
h2 = plot(hamming_inter, 'r+'); 
hold off; 

:但是,傳說應該只由兩個條目,每個單個條目指顯示曲線圖的一個。我的目標是獲得一個帶有兩個條目的傳說(一個帶有紅十字和一個帶藍點)。

enter image description here

的陣列hamming_intrahamming_inter由雙值:

>> whos hamming_inter 
Name    Size   Bytes Class  Attributes 

hamming_inter  5x20    800 double    

回答

0

我發現了MathWorks的論壇解決方案:

figure; 
hold on; 
h1 = plot(hamming_intra, 'bo'); 
h2 = plot(hamming_inter, 'r+'); 
hold off; 
h = get(gca,'Children'); 
v = [h(1) h(21)]'; %in my case the first and the 21st entry correspond the the first entry of both plots 
legend(v, 'data1', 'data2'); 
0
figure; 
h1 = plot(hamming_intra, 'bo'); 
hold on 
h2 = plot(hamming_inter, 'r+'); 
legend([h1, h2],'hamming_intra','hamming_inter') 
+0

不會永遠工作,嘗試用rand(2,10)替換集合,它將失敗。這取決於你的設置的格式。 – 2014-11-25 09:36:04

+0

我已經試過這個,但它給出了一個錯誤: ||的操作數。和&&操作符必須可以轉換爲邏輯標量值。 圖例中的錯誤(行194) elseif narg> 0 &&〜ischar(varargin {1})&& ... – 2014-11-25 10:12:20