我正在使用此链接根据类别绘制带有彩色标签的漂亮树状图。第二个答案是我在这个链接中看到的(Tree cut and Rectangles around clusters for a Horizontal dendrogram in R),它使用下面的代码:
d <- dist(t(mat[,3:ncol(mat)]), method = "euclidean")
H.fit <- hclust(d, method="ward")
groups <- cutree(H.fit, k=16) # cut tree into clusters
hcdata<- dendro_data(H.fit, type="rectangle")
hcdata$labels <- merge(x = hcdata$labels, y = pm_gtex_comb, by.x = "label", by.y = "sample",all=TRUE)
ggplot() +
geom_segment(data=segment(hcdata), aes(x=x, y=y, xend=xend, yend=yend)) +
geom_text(data=label(hcdata), aes(x, y, label=label, hjust=0, color=cluster),
size=3) +
geom_rect(data=rect, aes(xmin=X1-.3, xmax=X2+.3, ymin=0, ymax=ymax),
color="red", fill=NA)+
geom_hline(yintercept=0.33, color="blue")+
coord_flip() + scale_y_reverse(expand=c(0.2, 0)) +
theme_dendro()
我想剪掉一些集群,因为我有 16 个集群,有 145 个标签,这样我就只能查看几个集群,因为我只想聚焦/剪切/放大其中几个。有什么办法吗这个在 hclust 对象上。这只是为了有一个很好的可视化效果,因为这个数字有 145 个标签。因为我想根据标签着色,我认为 ggdendro 非常适合。
例如在此链接中,如果您查看 3)放大树状图 http://gastonsanchez.com/blog/how-to/2012/10/03/Dendrograms.html