重新更改关键词,在stackoverflow上找到了答案,源代码贴出来在下面。
library(ggplot2)
library(ggdendro)
dm <- hclust(dist(USArrests[1:5,]), "ave")
df <- data.frame(State = c("Alabama","Alaska","Arizona","Arkansas","California"),
Location = c("South","North","West","South","West"))
hcdata<- dendro_data(dm, type="rectangle")
hcdata$labels <- merge(x = hcdata$labels, y = df, by.x = "label", by.y = "State")
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, colour = Location, hjust=0), size=3) +
geom_point(data = label(hcdata), aes(x=x, y=y), size=3, shape = 21) +
coord_flip() +
scale_y_reverse(expand=c(0.2, 0)) +
scale_colour_brewer(palette = "Dark2") +
theme_dendro()
以下是效果图