如何将树形图的节点着色为R中的单独行

时间:2016-12-15 11:36:31

标签: hierarchical-clustering dendrogram dendextend

我想在树形图的底部为树形图的节点着色 - 但是在单独的行中 下面链接中的最后一个树形图将节点显示为彩色 - 但是当它的大数据集时,一条线变得非常污点 Label and color leaf dendrogram in r 那么每个彩色组可以有单独的行吗?

1 个答案:

答案 0 :(得分:0)

是。您想使用dendextend包中的函数colored_bars。请参阅以下示例(来自dendextend vignette

library(dendextend)
dend15 <- c(1:5) %>% dist %>% hclust(method = "average") %>% as.dendrogram
is_odd <- ifelse(labels(dend15) %% 2, 2,3)
is_345 <- ifelse(labels(dend15) > 2, 3,4)
is_12 <- ifelse(labels(dend15) <= 2, 3,4)
k_3 <- cutree(dend15,k = 3, order_clusters_as_data = FALSE) 
# The FALSE above makes sure we get the clusters in the order of the
# dendrogram, and not in that of the original data. It is like:
# cutree(dend15, k = 3)[order.dendrogram(dend15)]
the_bars <- cbind(is_odd, is_345, is_12, k_3)
the_bars[the_bars==2] <- 8

dend15 %>% plot
colored_bars(colors = the_bars, dend = dend15)

enter image description here