You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多对应分析(MCA)可视化优化:变量颜色调整与椭圆添加需求

多对应分析感知图优化方案

1. 将COURSES变量设置为黑色

假设你使用FactoMineR完成多对应分析,factoextra绘制感知图,可按以下步骤修改变量颜色:

首先完成MCA计算(根据你的数据集调整参数):

library(FactoMineR)
library(factoextra)

# 替换为你的实际数据集
mca_result <- MCA(your_dataset, graph = FALSE)

生成自定义颜色向量,单独将COURSES变量设为黑色:

# 获取所有变量名称
var_names <- rownames(mca_result$var$coord)
# 生成默认调色板颜色
var_colors <- hcl.colors(length(var_names), "viridis")
# 定位COURSES变量的位置并修改颜色
courses_pos <- which(var_names == "COURSES")
var_colors[courses_pos] <- "black"

绘制带自定义颜色的感知图:

p <- fviz_mca_var(mca_result,
                  col.var = var_colors,
                  repel = TRUE, # 避免标签重叠
                  ggtheme = theme_minimal())
print(p)

2. 添加聚类椭圆

针对聚类相近的点添加椭圆,可先对变量/个体进行聚类,再将椭圆叠加到原图上:

方法1:基于K-Means聚类添加椭圆

# 对变量坐标进行K-Means聚类(可根据需求调整聚类数centers)
var_cluster <- kmeans(mca_result$var$coord, centers = 3)

# 将椭圆叠加到之前的感知图上
p + fviz_ellipses(mca_result,
                  geom = "var", # 若为个体点则改为"ind"
                  habillage = var_cluster$cluster,
                  alpha = 0.2, # 椭圆透明度
                  col = "black", # 椭圆边框颜色
                  fill = scales::alpha(c("#FF5733", "#33FF57", "#3357FF"), 0.1)) # 填充色

方法2:基于层次聚类(HCPC)添加椭圆

如果需要更贴合的聚类结果,可使用HCPC函数:

# 对MCA结果进行层次聚类
res_hc <- HCPC(mca_result, graph = FALSE)

# 添加聚类椭圆
p + fviz_ellipses(res_hc,
                  geom = "var",
                  alpha = 0.2,
                  col = "darkgray",
                  fill = scales::alpha("lightblue", 0.1))

内容的提问来源于stack exchange,提问作者Lucas Dos Santos Jambeiro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 15:52:44