簡體   English   中英

根據標簽重新排序和彩色樹狀圖

[英]Reorder and colour dendogram based on labels

我試圖控制樹狀圖的順序和顏色。 顯然,樹狀圖的重點是通過相似性進行排序,但是在分支中,我想設置一個有意義的順序(字母數字)。

library(vegan)
library(stats) 

x <-data.frame(data = c(1:10)) 
y = data.frame(type = c("A","B","C","A","C","D","A","B","C","B"), site_name = c("A1","B1","C1","A2","C2","D1","A3","B2","C3","B3"))  
row.names(x) = y$site_name 
dis = vegdist(x) 
hc <- hclust(dis) 
dd <- as.dendrogram(hc) 
plot(dd)

在此處輸入圖片說明

我的數據標簽是文本,但在變量中確實有設置順序

site_order = c("A1","A2","A3","B1","B2","B3","C1","C2","C3","D1")

1)我想找到一個解決方案,根據site_order內的site_order對site_order進行排序。

例如A1,B1,A2,C1,C2,D2,A3,B2,B3,C3

我還想使用site_type對標簽進行着色和成形,例如(A =紅色圓圈,B =藍色正方形,C =綠色三角形,D =黃色十字形)

這可能嗎?

最好使用dendextend的rotate功能來完成這項工作。

library(vegan)
library(stats) 

x <-data.frame(data = c(1:10)) 
y = data.frame(type = c("A","B","C","A","C","D","A","B","C","B"), site_name = c("A1","B1","C1","A2","C2","D1","A3","B2","C3","B3"))  
row.names(x) = y$site_name 
dis = vegdist(x) 
hc <- hclust(dis) 
dd <- as.dendrogram(hc) 

par(mfrow = c(1,2))
plot(dd, main = "orig")

library(dendextend)
dd2 <- rotate(dd, sort(labels(dd)) )
plot(dd2, main = "as sorted as possible \n(under the constraints)")

輸出:

在此處輸入圖片說明

您可以從在線小插圖中獲得有關dendextend軟件包的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM