R语言fviz_pca_biplot双标图如何按两个变量分别映射颜色和形状
你需要的效果可以通过为fviz_pca_biplot补充shape.ind参数实现,完整可运行代码如下:
# 加载所需依赖包 library(dplyr) library(factoextra) library(ggplot2) # 数据标准化、PCA建模 ds <- mtcars %>% scale() PCA_analysis <- princomp(ds) # 绘制双标图 fviz_pca_biplot(PCA_analysis, label = "all", habillage = as.factor(mtcars$gear), # 点颜色对应gear变量,转因子做分组 shape.ind = as.factor(mtcars$am), # 点形状对应am变量,转因子做分组 legend.title = list(color = "gear", shape = "am")) + # 自定义两个图例的标题 # 可选:自定义分组对应的点形状,数字对应R内置点样式编号,可按需调整 scale_shape_manual(values = c(16, 17))
核心参数说明:
shape.ind是fviz_pca_biplot专门用来设置样本点形状分组的参数,传入分类变量即可实现按指定变量区分点形状- 两个分组变量都转成
factor类型,避免被识别为连续变量生成不符合预期的渐变样式 - 函数返回的结果是标准ggplot对象,你可以后续叠加其他ggplot语法自定义样式,比如调整配色、修改点大小、调整坐标轴等。
内容的提问来源于stack exchange,提问作者Valentin
相关产品推荐
相关产品推荐

