2017-09-25 102 views
1

我想知道 - 有沒有辦法如何將簇標籤添加到樹狀圖中。見簡單的例子:樹狀圖中的簇標籤

hc = hclust(dist(mtcars)) 
plot(hc, hang = -1) 
rect.hclust(hc, k = 3, border = "red") 

所需的輸出應該是這樣的:

感謝您的任何建議!

回答

3

你需要得到地方的座標把你的集羣的標籤:

一軸:
當你調用rect.hclust,你還不如分配的結果,所以你可以用它來
:找到簇的開始(第一個在1個+第一的長度等

rh <- rect.hclust(hc, k = 3, border = "red") 
beg_clus <- head(cumsum(c(1, lengths(rh))), -1) 

第二軸線在1開始第二你只是想要在紅色的矩形上方,這是在你有k-1羣集和你有k個羣集的高度的中間。比方說,你在瞄準遠處的4/5,而不是1/2:

y_clus <- weighted.mean(rev(hc$height)[2:3], c(4, 1)) 

把標籤:

text(x=beg_clus, y=y_clus, col="red", labels=LETTERS[1:3], font=2) 

enter image description here