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

R语言基于数据框指定阈值筛选数据绘制成对韦恩图

R绘制两组基因的成对韦恩图实现步骤

1 环境准备与数据筛选

首先提取两组符合阈值要求的ENSG标识,使用VennDiagram包完成绘图(如果未安装先执行安装命令):

# 安装依赖包(首次运行执行即可)
# install.packages("VennDiagram")
library(VennDiagram)

# 按Cor>0.1的阈值分别筛选两组ENSG
set_cor1 <- df1$ENSG[df1$Cor1 > 0.1]
set_cor2 <- df1$ENSG[df1$Cor2 > 0.1]

可以先手动核对集合大小:

# 输出各组基因数、重叠基因数
cat("Cor1>0.1基因数:", length(set_cor1), "\n")
cat("Cor2>0.1基因数:", length(set_cor2), "\n")
cat("重叠基因数:", length(intersect(set_cor1, set_cor2)), "\n")

基于提供的示例数据,运行后输出结果为:Cor1>0.1基因共17个,Cor2>0.1基因共14个,两组重叠基因共13个。

2 绘制韦恩图

直接调用成对韦恩图绘制函数,可自定义颜色、字号等样式参数:

# 生成韦恩图对象
venn_plot <- draw.pairwise.venn(
  area1 = length(set_cor1),
  area2 = length(set_cor2),
  cross.area = length(intersect(set_cor1, set_cor2)),
  category = c("Cor1 > 0.1", "Cor2 > 0.1"),
  fill = c("#1f77b4", "#ff7f0e"),
  alpha = 0.5,
  cat.cex = 1.2,
  cex = 1.5,
  ind = FALSE
)

# 渲染绘图
grid::grid.draw(venn_plot)

# 如需保存为本地文件,取消下方注释运行即可
# png("cor_venn.png", width = 6, height = 6, units = "in", res = 300)
# grid::grid.draw(venn_plot)
# dev.off()

可选:ggplot2风格韦恩图

如果需要更易调整样式的ggplot2风格图形,可以使用ggVennDiagram包实现:

# 安装依赖包(首次运行执行即可)
# install.packages("ggVennDiagram")
library(ggVennDiagram)

# 整理输入列表
gene_set_list <- list(
  `Cor1 > 0.1` = set_cor1,
  `Cor2 > 0.1` = set_cor2
)

# 绘图
ggVennDiagram(
  gene_set_list,
  set_color = c("#1f77b4", "#ff7f0e"),
  label_alpha = 0
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 10:39:19