增加ggplot2树形图中叶子和标签之间的空间

时间:2017-08-23 12:20:46

标签: r ggplot2 dendrogram

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

enter image description here

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

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)

1 个答案:

答案 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)

enter image description here