Увеличьте расстояние между листьями и метками в ggplot2 дендрограмме
Мне нужно построить кластеризацию дендрограммы, используя 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)
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)