Увеличьте расстояние между листьями и метками в 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)

введите описание изображения здесь

Другие вопросы по тегам