在 ggplot2 树状图中增加叶子和标签之间的 space

Increase space between leaves and labels in ggplot2 dendrogram

我需要使用 ggplot2 绘制聚类树状图。要创建树状图对象,我使用 dendextend 包中的 as.ggdend() 函数。然而,叶子和标签之间的 space 非常小(见下图)。知道如何增加它吗?

下面粘贴了重现示例的代码。

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)

在我看来,处理绘图的宽度和高度可能是解决问题的简单而有价值的方法。

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)