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

如何在R中绘制PCA前后相关性系数的散点图以展示提升效果

绘制PCA去噪前后相关性系数的散点图方案

数据准备与包加载

首先加载绘图所需的ggplot2包,并导入数据集,同时将行名转为单独的基因名列,方便后续标注:

library(ggplot2)

# 导入数据集
data <- structure(list(rho_before = c(0.4307495, 0.5960163, 0.5493751, 
0.490663, 0.5255558, 0.4066614, 0.3735131, 0.4254657, 0.3644662, 
0.1835266), rho_pca = c(0.4891171, 0.5352205, 0.6741458, 0.607399, 
0.6842696, 0.4207939, 0.4573174, 0.6284339, 0.7400641, 0.3667239
)), class = "data.frame", row.names = c("gene1", "gene2", "gene3", 
"gene4", "gene5", "gene6", "gene7", "gene8", "gene9", "gene10"
))

# 将行名转为基因名列
data$gene <- rownames(data)

绘制散点图

使用ggplot2绘制散点图,添加45度参考线(代表PCA前后相关性无变化),并标注每个基因的名称:

ggplot(data, aes(x = rho_before, y = rho_pca)) +
  # 添加45度虚线参考线
  geom_abline(slope = 1, intercept = 0, color = "gray50", linetype = "dashed") +
  # 绘制散点,用蓝色突出所有PCA后相关性提升的基因
  geom_point(color = "#2E86AB", size = 3) +
  # 添加基因名称标签,避免重叠
  geom_text(aes(label = gene), hjust = -0.1, vjust = 0.1, size = 3.5) +
  # 设置坐标轴与标题
  labs(x = "PCA去噪前相关性系数(rho)", 
       y = "PCA去噪后相关性系数(rho)", 
       title = "PCA去噪前后基因相关性系数对比") +
  # 调整坐标轴范围,确保参考线完整展示
  xlim(c(0.15, 0.8)) +
  ylim(c(0.15, 0.8)) +
  # 应用简洁主题
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
        axis.title = element_text(size = 12))

结果说明

  • 图中虚线为45度参考线,所有位于线上方的点都代表该基因经PCA去噪后相关性系数高于去噪前,你的10个基因全部满足这一条件。
  • 每个点旁标注了对应的基因名称,可直观查看单个基因的相关性变化幅度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 01:20:23