# 代码来源:https://www.r2omics.cn/
# 加载R包,没有安装请先安装 install.packages("包名")
library(ggvenn)
# 读取数据文件
<- read.delim("https://www.r2omics.cn/res/demodata/venn.txt") # 这里读取了网络上的demo数据,将此处换成你自己电脑里的文件
venn_dat <- as.list(venn_dat) # 制作韦恩图搜所需要的列表文件
venn_list <- purrr::map(venn_list, na.omit) # 删除列表中每个向量中的NA
venn_list <- purrr::map(venn_list, function(x){x[x!=""]}) # 删除列表中每个向量中的""
venn_list
# 绘图
ggvenn(
data = venn_list, # 数据列表
columns = NULL, # 对选中的列名绘图,最多选择4个,NULL为默认全选
show_elements = F, # 当为TRUE时,显示具体的交集情况,而不是交集个数
label_sep = "\n", # 当show_elements = T时生效,分隔符 \n 表示的是回车的意思
show_percentage = T, # 显示每一组的百分比
digits = 1, # 百分比的小数点位数
fill_color = c("#E41A1C", "#1E90FF", "#FF8C00", "#80FF00"), # 填充颜色
fill_alpha = 0.5, # 填充透明度
stroke_color = "white", # 边缘颜色
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 = 4 # 交集个数文字大小
)
R语言绘制韦恩图
前言
本篇是R包ggvenn绘制韦恩图的教程,该包可以绘制2-4之间的样本
什么是韦恩图?
韦恩图(Venn Diagram)是一种用于展示集合之间关系的图形工具。它通过重叠的圆形来表示不同集合及其交集。每个圆代表一个集合,圆与圆之间的重叠部分则表示这些集合的交集。
绘图前的数据准备
demo数据可以在https://www.r2omics.cn/res/demodata/venn.txt下载。
第一行为组名,必须要有,会出现在图中。每一列都是一个分组,下面的是分组里具体的内容。
R语言绘制韦恩图
绘图
导出交集详情表格
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)