R项目中使用fviz_cluster修改聚类符号与颜色的方法
操作方案
fviz_cluster底层基于ggplot2实现,你可以通过ggplot2内置的标度函数直接修改点形状和聚类颜色,具体修改方法如下:
- 调整点符号:使用
scale_shape_manual()指定各簇的点形状,加号对应的点编号(pch值)为3,其余簇可保留默认的实心圆(pch值为16)。 - 调整聚类颜色:使用
scale_color_manual()传入自定义色值即可,色值数量需要和你的聚类数量一致。
完整修改后的代码
cluster <- fviz_cluster(final, data = y, labelsize = 1, ellipse.type = "convex", ellipse.alpha = 0 ) cluster + # 自定义点形状:簇1为加号,其余簇为实心圆,可根据实际聚类数调整values的长度 scale_shape_manual(values = c(3, rep(16, nrow(final$centers) - 1))) + # 自定义聚类颜色,替换括号内的色值为你需要的颜色即可 scale_color_manual(values = c("#FF0000", "#00BFC4", "#7CAE00", "#C77CFF")) + theme(axis.line = element_line(), panel.grid.major = element_blank(), panel.grid.minor = element_blank(), panel.border = element_blank(), panel.background = element_blank())
如果需要更精准的匹配簇标签,避免簇排序变化导致的样式错误,也可以用命名向量指定形状/颜色,示例如下:
# 假设你共有3个簇,标签为1、2、3 scale_shape_manual(values = c("1" = 3, "2" = 16, "3" = 16)) scale_color_manual(values = c("1" = "red", "2" = "blue", "3" = "green"))
内容的提问来源于stack exchange,提问作者Cong Tran Minh
相关产品推荐
相关产品推荐

