0

在此处输入图像描述我使用函数 hclust 进行了聚类,现在我想在每个聚类周围绘制多边形!

我该怎么做?我只有一组带有集群 id 的点!

例如,这张图片有两个类别和 4 个不同的区域!我怎样才能得到这些区域的数量?

4

1 回答 1

2

您可以使用凸包函数来做到这一点chull

## First part sets up problem
library(cluster)        ## For Ruspinin data
Rusp_HC = hclust(dist(ruspini))
Cluster4 = cutree(Rusp_HC, 4)
plot(ruspini, pch=20, col=rainbow(4)[Cluster4])

##  Now get the polygons
for(i in 1:4) {
    ConvexHull = chull(ruspini[Cluster4 == i, ])
    polygon(ruspini[Cluster4 == i, ][ConvexHull,], 
        border=rainbow(4)[i], col=rainbow(4, alpha=0.1)[i])
}

凸壳

于 2017-07-05T14:20:09.620 回答