R語言繪圖——給樹狀圖的標簽賦予不同顏色


R包dendextend是一個樹狀圖繪圖的綜合工具,它提供了一系列的調整樹狀圖的圖形參數,如顏色,大小以及分支類型、節點和標簽等,能用來可視化和比較樹狀圖。接下來簡單介紹其賦予不同樣本(或標簽)不同顏色的功能。

不同標簽,不同顏色

# install.packages("dendextend")#安裝包
library(dendextend)#導入包

data(USArrests)#該數據集包含了1973年美國50個州每10萬居民因犯罪而被捕的統計數據。
dend <- as.dendrogram(hclust(dist(USArrests[1:10,])))#簡單起見僅取10個樣本

###原始圖,沒有區分顏色
labels_colors(dend)#查看樹狀圖標簽的顏色,沒有賦值,所以沒有顏色,結果為NULL
## NULL
par(mfrow = c(1,2))
plot(dend, main = "Original dend")

###修飾圖,增加區分顏色
labels_colors(dend) <- 1:10#賦予10個樣本10個標簽
plot(dend, main = "A color for every state")

同一類別,同一顏色

有時候想直觀地看看同一類別是否聚到了一起,可以給每一類賦予同一種顏色,增加區分度。

# install.packages("dendextend")
library(dendextend)

small_iris <- iris[c(1,2,3,51,52,53,101,102,103), ]
dend <- as.dendrogram(hclust(dist(small_iris[,-5])))

#原始圖,沒有區分顏色
labels_colors(dend)
## NULL
par(mfrow = c(1,2))
plot(dend, main = "Original dend")

# 修飾圖,增加區分顏色
types <- factor(small_iris[,5])
n_types <- length(unique(small_iris[,5]))
cols <- colorspace::rainbow_hcl(n_types, c = 70, l  = 50)
colors_to_use <- cols[types]

labels_colors(dend) <- colors_to_use
plot(dend, main = "A color for every Species")

參考資料:Frequently asked questions


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM