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

使用autoplot绘制PCA图时,如何为每个数据点添加样本代号?

在autoplot的PCA图中添加样本代号的解决方法

autoplot默认的labels=TRUE只会显示数据行的索引数字,要显示原始数据中的样本代号,你可以利用autoplot返回ggplot对象的特性,直接叠加geom_text图层来实现,具体步骤如下:

步骤1:确保数据包含样本代号列

如果你的原始数据还没有样本代号,先新增一列(以iris数据集为例):

iris$SampleID <- paste0("Sample_", 1:nrow(iris))

如果你的数据已经有现成的样本名称列,直接用该列即可。

步骤2:绘制PCA图并叠加样本代号

修改你的代码,在autoplot后添加geom_text层,指定标签为样本代号列:

library(ggfortify)
df <- iris[1:4]
pca_res <- prcomp(df, scale. = TRUE)

autoplot(pca_res, data = iris, colour = 'Species',
         loadings = TRUE, loadings.colour = 'blue',
         loadings.label = TRUE, loadings.label.size = 3, frame = TRUE, frame.type = 'norm') +
  geom_text(aes(label = SampleID), size = 2.5, hjust = 0.5, vjust = -1)

参数说明

  • label = SampleID:替换成你数据中的样本代号列名
  • size:控制文字大小,避免遮挡数据点
  • hjust/vjust:调整文字相对于数据点的位置,vjust = -1表示将文字放在点的上方

内容的提问来源于stack exchange,提问作者stakrawolf

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 10:32:34