R语言绘图:韦恩图

发布于:2025-03-06 ⋅ 阅读:(10) ⋅ 点赞:(0)

韦恩分析

韦恩分析(Venn Analysis)常用于可视化不同数据集之间的交集和并集。维恩图(Venn diagram),也叫文氏图、温氏图、韦恩图、范氏图,用于显示元素集合重叠区域的关系型图表,通过图形与图形之间的层叠关系,来反应数据集之间的相交关系。在 R 语言中,进行韦恩分析(Venn图绘制)可以通过多个不同的包来实现,常用的包括 VennDiagram、venn 和 ggVenn 等。本文案使用ggVenn软件包进行分析。

效果图:

代码:

####Venn分析####

#上调基因的交集

####机器学习重要性排序的Venn分析####

setwd("…")

remove(list = ls())#清除环境变量

#install.packages("ggvenn ")#如没有,需下载安装包

library(ggvenn)#加载所需要的安装包

venn_list<-read.csv("上调基因.csv")#输入数据

数据样式

venn_list<-venn_list[,1:3]#选择进行venn分析的列

venn_list1<-as.list(venn_list)#将数据框格式数据转换成列表格式数据

pdf(file = "Venn图_上调.pdf", height = 8, width = 12)#绘制空白画布

ggvenn(

  data = venn_list1,         # 数据列表

  columns = NULL,           # 对选中的列名绘图,最多选择4个,NULL为默认全选

  show_elements = F,        # 当为TRUE时,显示具体的交集情况,而不是交集个数

  label_sep = "\n",         # 当show_elements = T时生效

  show_percentage = T,      # 显示每一组的百分比

  digits = 1,               # 百分比的小数点位数

  fill_color = c("#0072B5", "#BC3C28","#008B8B","#FFE1FF","#CD3278","#CD853F"), # 填充颜色

  fill_alpha = 0.5,         # 填充透明度

  stroke_color = "black",   # 边缘颜色

  stroke_alpha = 0.5,       # 边缘透明度

  stroke_size = 0.5,        # 边缘粗细

  stroke_linetype = "solid",# 边缘线条 # 实线:solid  虚线:twodash longdash 点:dotdash dotted dashed  无:blank

  set_name_color = "black", # 组名颜色

  set_name_size = 6,        # 组名大小

  text_color = "black",     # 交集个数颜色

  text_size = 5             # 交集个数文字大小

)

dev.off()#关闭画布

#获得交集基因

genes_set1<-venn_list$TCGA_N_T#将第一列命名成genes_set1

genes_set2<-venn_list$GEO_CON_PTC#将第二列命名成genes_set2

genes_set3<-venn_list$GEO_PTC_ATC#将第三列命名成genes_set3

# 获取交集基因

intersection_genes <- Reduce(intersect, list(genes_set1, genes_set2, genes_set3))

write.csv(intersection_genes, "上调基因交集.csv")

Venn分析到这就完成啦,最终我们既获得了Venn图,又得到了具体的交集基因。

所有数据我都存放在百度网盘了,欢迎大家访问,

通过网盘分享的文件:数据.zip

链接: https://pan.baidu.com/s/11e0IEa2fI5L31MBqEcPA0w

提取码: shan