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

ggfortify包autoplot绘制PCA图时仅展示setosa物种的实现方法

ggfortify PCA图仅绘制setosa样本的实现方法

注意:不要仅提取setosa的特征子集重新运行prcomp计算PCA,单独子集算出的特征向量旋转轴和全数据集结果不一致,得到的点坐标不属于原全量分析的投影空间,结果无对照意义。

你只需要在绘图阶段过滤传入的样本数据即可,不需要修改之前的PCA计算逻辑,最简便的实现代码如下:

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

# 传入数据时仅保留Species为setosa的行
autoplot(pca_res, data = iris[iris$Species == "setosa", ], colour = 'Species')

如果需要让单类图的坐标轴范围和全量PCA图完全一致(方便跨图尺度对齐),可以先提取全量图的坐标范围再绘图:

# 生成全量样本的PCA图对象提取坐标范围
full_pca_plot <- autoplot(pca_res, data = iris)
x_limit <- layer_scales(full_pca_plot)$x$range$range
y_limit <- layer_scales(full_pca_plot)$y$range$range

# 绘制setosa单类图时锁定坐标范围
autoplot(pca_res, data = iris[iris$Species == "setosa", ], colour = 'Species',
         xlim = x_limit, ylim = y_limit)

两种方案的适用场景:

  • 直接筛数绘图:图面会自动适配setosa的点分布,布局更紧凑,适合单独观察setosa的组内分布
  • 锁定坐标范围绘图:坐标轴尺度和全量PCA图完全一致,适合和全量图做对照分析

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 18:45:40