【发布时间】:2017-08-23 12:20:46
【问题描述】:
我需要使用ggplot2 绘制聚类树状图。要创建树状图对象,我使用 dendextend 包中的 as.ggdend() 函数。但是,叶子和标签之间的空间非常小(见下图)。知道如何增加它吗?
复制示例的代码粘贴在下面。
library(ggplot2)
library(dendextend)
## Sample 20 instances of iris dataset
data(iris)
df <- iris[sample(150, 20), -5]
labs <- paste("Longname_", 1:20, sep = "")
rownames(df) <- labs
## Create dendrogram object
dend <- df %>% dist %>%
hclust %>% as.dendrogram %>%
set("labels_cex", 1)
ggd1 <- as.ggdend(dend)
## Plot dendrogram
ggplot(ggd1, horiz = TRUE)
【问题讨论】:
-
根据
dendextend包的documentation,没有改变叶子间距的实现。请参考 Tal Galili 的这个答案here。我认为您最好的解决方案可能是dend <- df %>% dist %>% hclust %>% as.dendrogram %>% set("labels_cex", 1)%>% # hang the leaves (at some height) hang.dendrogram(hang_height = .7)
标签: r ggplot2 dendrogram