# 代码来源:https://www.r2omics.cn/
# 加载R包,没有安装请先安装 install.packages("包名")
library(venn) #韦恩图(venn 包,适用样本数 2-7)
# 读取数据文件
<- read.delim('https://www.r2omics.cn/res/demodata/venn.txt') #这里读取了网络上的demo数据,将此处换成你自己电脑里的文件
venn_dat <- list(venn_dat[,1], venn_dat[,2], venn_dat[,3], venn_dat[,4], venn_dat[,5], venn_dat[,6], venn_dat[,7]) # 制作韦恩图搜所需要的列表文件
venn_list names(venn_list) <- colnames(venn_dat[1:7]) # 把列名赋值给列表的key值
= purrr::map(venn_list,na.omit) # 删除列表中每个向量中的NA
venn_list <- purrr::map(venn_list, function(x){x[x!=""]}) # 删除列表中每个向量中的""
venn_list
#作图
venn(venn_list,
# ilabels="counts", # venn V1.11版本,需要在venn函数里面添加`ilabels="counts"`参数,否则不显示数字。
zcolor='style', # 调整颜色,style是默认颜色,bw是无颜色,当然也可以自定义颜色
opacity = 0.3, # 调整颜色透明度
box = F, # 是否添加边框
ilcs = 0.5, # 数字大小
sncs = 1 # 组名字体大小
)
R语言绘制韦恩图
前言
本篇是R包venn绘制韦恩图的教程,该包可以绘制7个样本。
什么是韦恩图?
韦恩图(Venn Diagram)是一种用于展示集合之间关系的图形工具。它通过重叠的圆形来表示不同集合及其交集。每个圆代表一个集合,圆与圆之间的重叠部分则表示这些集合的交集。
绘图前的数据准备
demo数据可以在https://www.r2omics.cn/res/demodata/venn.txt下载。
第一行为组名,必须要有,会出现在图中。每一列都是一个分组,下面的是分组里具体的内容。
R语言绘制韦恩图
绘图
备注:venn V1.11版本,需要在venn函数里面添加`ilabels=“counts”`参数,否则不显示数字。而venn V1.10,则不能添加。
导出交集详情表格
library(VennDiagram)
# 查看交集详情,并导出结果
<- get.venn.partitions(venn_list)
inter for (i in 1:nrow(inter)) inter[i,'values'] <- paste(inter[[i,'..values..']], collapse = '|')
<- subset(inter, select = -..values.. )
inter <- subset(inter, select = -..set.. )
inter head(inter)
write.table(inter, "result.csv", row.names = FALSE, sep = ',', quote = FALSE)