Provides functions for creating dendrograms and tree plots using ggplot2.
The ggdendro package offers a generic function to extract data and text from the various clustering models:
dendro_data() extracts cluster information from the model object, e.g. cluster allocation, line segment data or label data.The dendro_data object has methods for the following classes:
treehclustdendrogramrpartThese methods create an object of class dendro, which is essentially a list of data frames. To extract the relevant data frames from the list, use the three accessor functions:
segment() for the line segment datalabel() for the text for each end segmentleaf_label() for the leaf labels of a tree diagramThe results of these functions can then be passed to ggplot() for plotting.
library(ggplot2) library(ggdendro) hc <- hclust(dist(USArrests), "ave") hcdata <- dendro_data(hc, type = "rectangle") ggplot() + geom_segment(data = segment(hcdata), aes(x = x, y = y, xend = xend, yend = yend) ) + geom_text(data = label(hcdata), aes(x = x, y = y, label = label, hjust = 0), size = 3 ) + coord_flip() + scale_y_reverse(expand = c(0.2, 0))

### demonstrate plotting directly from object class hclust ggdendrogram(hc)

ggdendrogram(hc, rotate = TRUE)

### demonstrate converting hclust to dendro using dendro_data first hcdata <- dendro_data(hc) ggdendrogram(hcdata, rotate = TRUE) + labs(title = "Dendrogram in ggplot2")
