使用ggdendrogram创建树形图

时间:2013-05-08 04:35:22

标签: r ggplot2 dendrogram ggdendro

我正在进行聚类分析并创建树形图。我使用了ggdendrogram包并希望在ggplot2中使用其输出。我想知道如何获得与叶标签相同的x标签。感谢

D1 <- as.dist(
  matrix(
    data=
    c(   0,  9, 3, 6, 11
      ,  9,  0, 7, 5, 10
      ,  3,  7, 0, 9,  2
      ,  6,  5, 9, 0,  8
      , 11, 10, 2, 8,  0)
    , nrow= 5
    , ncol = 5
    , byrow=TRUE
    ))

HCD1 <- hclust(d = D1, method="single", members=NULL)
library(ggdendro)
ggdendrogram(HCD1, theme_dendro=FALSE)

enter image description here

HCD1Data <- dendro_data(as.dendrogram(HCD1))

library(ggplot2)
p1 <-
    ggplot(data = HCD1Data$segments) +
    geom_segment(aes(x=x, y=y, xend=xend, yend=yend))
print(p1)

enter image description here

1 个答案:

答案 0 :(得分:7)

您可以使用scale_x_discrete()并设置自己的标签。与树形图相同的标签位于对象HCD1Data部分labels和列label中。

HCD1Data$labels
  x y label
1 1 0     1
2 2 0     3
3 3 0     5
4 4 0     2
5 5 0     4

p1+scale_x_discrete(labels=HCD1Data$labels$label)

enter image description here