【问题标题】:Draw polygons around clusters from hclust从 hclust 围绕集群绘制多边形
【发布时间】:2017-07-05 14:05:41
【问题描述】:

我使用函数hclust进行了聚类,现在我想在每个聚类周围绘制多边形!

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

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

【问题讨论】:

    标签: r cluster-analysis polygons hclust


    【解决方案1】:

    您可以使用凸包函数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])
    }
    

    【讨论】:

    • 感谢您的回答!我试过了,但我的数据出错了!我应该提一下,例如,我有两个数据点用于集群 1、集群 2 的 3 等等!我收到此错误; ruspini[Cluster4 == i, ][ConvexHull, ] 中的错误:维数不正确
    • @OumniaAsadian 您需要用您的数据替换 Ruspini 数据。我只是以它为例。
    • 是的,我当然替换了我的数据!但我的数据出现此错误! ://
    • 好的,我刚刚解决了这个问题,但现在它没有围绕每个数据点绘制!!我只得到几个多边形!我想问的是,当我用它的簇绘制原始区域时,如何轻松找出多边形的数量!
    • 它不工作它只给我类的数量!
    猜你喜欢
    • 2013-11-10
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    • 2013-10-22
    • 2011-02-18
    • 1970-01-01
    相关资源
    最近更新 更多