可视化图簇时,请防止凸包重叠

问题描述

我有一个二维图,分为25个簇。簇的形状很复杂,在某些情况下是相邻的。这是一个脚本,它将生成一个简化的示例,显示我的结果:

library(factoextra)
km.res <- kmeans(iris[,-5],3)

fviz_cluster(km.res,iris[,-5]) +
  scale_color_brewer('Cluster',palette='Set2') + 
  scale_fill_brewer('Cluster',palette='Set2') +
  scale_shape_manual('Cluster',values=c(22,23,24)) + 
  ggtitle(label='') 

Example

请注意,群集1和2的凸包重叠。据推测,如果有更多的线段组成凸包(或称“轮廓”或“多边形”,无论您想称呼它),形状将不需要重叠或重叠将很小。有没有办法为群集绘制一个更“轮廓化”的凸包?换句话说,有没有办法在群集周围绘制一个尽可能紧密地适合它的多边形?

例如,在聚类2的最南端。点132连接到点118,点118连接到点119。132-> 118-> 119。如果有更多的段,则形状将更复杂,但更“适合”。例如132-> 118-> 110-> 136-> 106-> 123-> 119。也许用另一种方式表达这个问题的方式是:我如何指定凸包应占据尽可能小的面积,同时仍包含给定簇的所有点?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...