2012-05-28 56 views
-1

我已經設置了50點點的數據和我聚成三組和情節them.How我們可以標記這些集羣..如何分配標籤集羣MATLAB

symbs= {'r+','g.','bv','m*','ko'}; 
    figure; 
    hold on 
    for i = 1: length(I) 
    plot(X(I(i),1),X(I(i),2),symbs{i},'MarkerSize',20) 
    plot(X(C==i,1),X(C==i,2),symbs{i}) 

    end 

我只是想給標籤那些繪製集羣

+0

爲什麼這個問題downvoted? –

+1

@EitanT:不是我低調的人,但我可以看到它如何被視爲「低質量」;例如,OP從未解釋變量「C」和「I」包含什麼,並且期望讀者已經閱讀了他/她最近的一系列問題...... – Amro

+1

@Amro我同意這個問題不是最清楚的,但它可以通過一些編輯來改進。爲了解決這個問題,爲什麼對新用戶如此苛刻,而不是留下建設性的評論呢? –

回答

2

方法1:創建legend

symbs= {'r+','g.','bv','m*','ko'}; 
figure; 
hold on 
for i = 1: length(I) 
    plot(X(I(i),1),X(I(i),2),symbs{i},'MarkerSize',20) 
    plot(X(C==i,1),X(C==i,2),symbs{i}) 
end 

labels = {'Cluster 1','Cluster 2','Cluster 3','Cluster 4','Cluster 5'}; 
legend(labels); 

既然你繪製兩個圖形對象與每個符號,你會(可能)發現 這看起來不太正確:傳說中的每個符號將有兩個重複,而不是一個。要解決此問題,請將其中一個對象集中的handles存儲起來,並使用這些句柄作爲legend的第一個參數。

for i = 1: length(I) 
    h(i) = plot(X(I(i),1),X(I(i),2),symbs{i},'MarkerSize',20); 
    plot(X(C==i,1),X(C==i,2),symbs{i}) 
end 

labels = {'Cluster 1','Cluster 2','Cluster 3','Cluster 4','Cluster 5'}; 
legend(h, labels(1:length(h))); 

方法2:使用annotation

註解讓你不喜歡的東西包含識別信息到您的地塊繪製箭頭或地方文本框。查看選項的鏈接和示例。