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
相关产品推荐
相关产品推荐

