在 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)
我需要使用 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)