使用factoextra的fviz_cluster绘制聚类图时如何仅显示簇中心的簇编号
factoextra包K-means簇编号标注配置指南
现有实现与常见问题
- 基础分析流程:导入factoextra包后,对数据框
df执行18类K-means聚类,核心可运行代码为:kms <- kmeans(df, 18, nstart = 100) # 基础聚类散点图 fviz_cluster(kms, data = df, alpha = 0.2, shape = 19, geom = "point") - 实际使用中遇到的两个问题:
- 基础散点图默认未标注簇编号,无法快速区分不同簇的覆盖范围
- 参考教程调整参数加入
frame.level = 0.68生成簇区域圈定效果后,图中除质心位置的簇编号外,存在多处零散的多余数字标注,不符合“仅在质心位置展示簇编号、替换原有质心点”的预期
精准实现目标效果的参数配置方案
通过三个核心参数的组合配置,可以彻底消除多余数字,实现仅在质心位置展示簇编号的效果:
- 各参数的作用说明:
label = "none":完全关闭对单个观测样本的数值标注,从根源消除零散的多余数字label.type = "centroid":指定所有簇编号的展示位置为对应簇的质心坐标点mean.point.size = 0:将默认的质心实心标记点尺寸设为0,用质心位置的簇编号完全替代原有质心点
- 完整可运行代码:
fviz_cluster(kms, data = df, alpha = 0.2, shape = 19, geom = "point", # 核心调整参数 label = "none", label.type = "centroid", mean.point.size = 0, frame.level = 0.68 )
若不需要绘制簇范围的置信圈,直接删除
frame.level = 0.68参数即可,其余配置依然能实现仅在质心位置展示簇编号的效果。
内容的提问来源于stack exchange,提问作者Lev
相关产品推荐
相关产品推荐

