4

我想创建一个带有水平标签的树状图,但是让叶子根据它们的高度悬挂,而不是仅仅下降到图的边缘。

例子:

par(mfrow = c(1,2))
hc <- hclust(dist(USArrests), "ave")
plot(hc) # a plot with hanging branches
plot(as.dendrogram(hc), horiz = TRUE) # a horizontal plot, but the branches are not hanging

在此处输入图像描述

关于如何编程的任何建议?

谢谢。

4

2 回答 2

4

您可以更改函数hang中的值as.dendrogram

par(mfrow = c(1,2))
hc <- hclust(dist(USArrests), "ave")
plot(hc)
plot(as.dendrogram(hc, hang=0.02), horiz = TRUE)
于 2013-07-15T21:08:16.683 回答
1

作为记录,我已经实现了一个hang.dendrogram函数(在 dendextend 包中),以允许在创建之后也挂起树状图(不仅在从 hclust 更改为树状图期间)。以下是如何使用它:

install.packages("dendextend")
library(dendextend)

dend <- as.dendrogram(hclust(dist(USArrests), "ave"))
par(mar = c(5,5,5,5))
plot(hang.dendrogram(dend), horiz = TRUE)

在此处输入图像描述

于 2014-08-11T19:24:00.007 回答