我正在尝试使用ggdendrogram绘制一个包含大量节点的dendrogram,速度非常慢(例如,与dendextend相比):
set.seed(1)
mat <- matrix(rnorm(100*10),nrow=100,ncol=10)
dend <- as.dendrogram(hclust(dist(mat)))
require(ggdendro)
require(dendextend)
require(microbenchmark)
> microbenchmark(ggdendrogram(dend,rotate=T,labels=F,size=4,theme_dendro=F))
Unit: milliseconds
expr min lq mean median uq max neval
ggdendrogram(dend, rotate = T, labels = F, size = 4, theme_dendro = F) 394.3181 409.3591 431.0981 412.515 416.4568 1346.844 100
> microbenchmark(dend %>% plot(horiz = TRUE))
Unit: milliseconds
expr min lq mean median uq max neval
dend %>% plot(horiz = TRUE) 138.7253 207.92 214.5278 208.8807 211.2602 640.0316 100有没有办法加快速度,使其与dendextend的绘图速度相媲美?
另外,无论我指定的是rotate=T还是
ggdendrogram(dend,rotate=F,labels=F,size=4,theme_dendro=F)+coord_flip()我得到了指向左侧的树状图:

但我想让它指向正确的方向。你知道怎么让它工作吗?
发布于 2017-01-31 14:56:28
在这个阶段,dendextend包取代了ggdendro。
set.seed(1)
mat <- matrix(rnorm(100*10),nrow=100,ncol=10)
dend <- as.dendrogram(hclust(dist(mat)))
require(dendextend)
gg_dend <- as.ggdend(dend)
require(ggplot2)
ggplot(gg_dend, labels = F)+coord_flip()+ scale_y_reverse()

https://stackoverflow.com/questions/41948623
复制相似问题