我需要使用ggplot2
绘制聚类树形图。要创建树形图对象,我使用as.ggdend()
包中的dendextend
函数。但是,树叶和标签之间的空间非常小(请参见下图)。知道如何增加它吗?
重现示例的代码粘贴在下面。
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)
答案 0 :(得分:1)
在我看来,处理情节的宽度和高度对于你的问题来说可以是一个简单而有价值的解决方案。
library(ggplot2)
library(dendextend)
data(iris)
df <- iris[sample(150, 20), -5]
## Add blanks before "Longname_"
labs <- paste(" Longname_", 1:20, sep = "")
rownames(df) <- labs
dend <- df %>% dist %>%
hclust %>% as.dendrogram %>%
set("labels_cex", 1)
ggd1 <- as.ggdend(dend)
## Resize width and height plotting area
x11(width=10, height=5)
ggplot(ggd1, horiz = TRUE)