如何在fviz_pca_biplot中移除样本点ID并保留向量标签?
问题解决方案
1. 移除样本点ID,保留变量标签
你当前使用的labels=NULL会同时隐藏样本和变量的标签,不符合需求。正确的做法是通过label.ind参数单独控制样本点标签,设置为"none"即可隐藏样本ID,变量标签会默认保留(也可以用label.var = "all"明确指定显示变量标签)。
修改后的绘图函数代码:
pca_biplot = fviz_pca_biplot(res.pca, repel = TRUE, max.overlaps=Inf, col.var = "#000000", # 变量向量颜色 axes = c(3, 4), # 指定要绘制的主成分 habillage = data$Population, col.ind = "#696969", # 样本点颜色 label.ind = "none", # 隐藏样本点ID label.var = "all" # 确保显示变量标签(可选,默认已开启) )
2. 移除初始图例,只保留自定义图例
habillage参数会自动生成默认分组图例,要去掉它只保留自定义图例,推荐两种简单方法:
方法一:直接在绘图函数中关闭初始图例
在fviz_pca_biplot里添加show.legend = FALSE,阻止初始图例生成,后续的scale_color_manual会生成你的自定义图例:
pca_biplot = fviz_pca_biplot(res.pca, repel = TRUE, max.overlaps=Inf, col.var = "#000000", axes = c(3, 4), habillage = data$Population, col.ind = "#696969", label.ind = "none", show.legend = FALSE # 关闭初始图例 )
方法二:用guides()函数精准控制图例
如果已经生成多个图例,可通过guides()指定保留自定义图例、移除初始图例:
pca_biplot + labs(title ="ACP", x = "CP3 (15,3%)", y = "CP4 (9,6%)") + scale_color_manual(values = c("blue","red"), name = "自定义图例标题") + theme_minimal() + guides(color = guide_legend()) # 只保留自定义的color图例
完整修改后代码
pca_biplot = fviz_pca_biplot(res.pca, repel = TRUE, max.overlaps=Inf, col.var = "#000000", # 变量向量颜色 axes = c(3, 4), # 指定要绘制的主成分 habillage = data$Population, col.ind = "#696969", # 样本点颜色 label.ind = "none", # 隐藏样本点ID show.legend = FALSE # 关闭初始图例 ) pca_biplot + labs(title ="ACP", x = "CP3 (15,3%)", y = "CP4 (9,6%)") + scale_color_manual(values = c("blue","red"), name = "Population") + # 自定义图例标题 theme_minimal()
内容的提问来源于stack exchange,提问作者Ocean
相关产品推荐
相关产品推荐

