venn可视化

venn可视化韦恩图 Venndiagram 是一种用于可视化集合之间关系的图形工具

大家好,欢迎来到IT知识分享网。


前言

韦恩图(Venn diagram)是一种用于可视化集合之间关系的图形工具。它是由英国逻辑学家约翰·韦恩于1880年引入的。

韦恩图由一组圆和它们的交集区域组成。每个圆代表一个集合,而交集区域则代表这些集合之间的共同元素。韦恩图可以用来比较不同集合之间的相似性和差异性。

优点:

可视化:韦恩图能够直观地展示集合之间的关系,使人们更容易理解和比较不同集合的共同和独有元素。
分类和分析:韦恩图可以帮助人们对集合进行分类和分析,从而更好地理解集合的特征和属性。
决策支持:韦恩图可以帮助人们作出决策,在不同集合之间找出共同点和不同点,从而更好地制定策略和计划。


一、数据准备

# 需要根据自己的数据进行处理一下 library(readxl) library(VennDiagram) setwd('G:/R/TCGA/venn') COVIN_24_wpi_DEGs <- read_xlsx('long_CONVID_19_deg.xlsx',sheet='24 wpi DEGs') COVIN_16_wpi_DEGs <- read_xlsx('long_CONVID_19_deg.xlsx',sheet='16 wpi DEGs') COVIN_12_wpi_DEGs <- read_xlsx('long_CONVID_19_deg.xlsx',sheet='12 wpi DEGs') # 这里做一个数据处理的演示 COVIN_12_wpi_DEGs <- read.csv('COVIN_12_wpi_DEGs.csv',header = T,row.names = 1) COVIN_12_wpi_DEGs <- data.frame(COVIN_12_wpi_DEGs$external_gene_name, row.names = rownames(COVIN_12_wpi_DEGs)) colnames(COVIN_12_wpi_DEGs) <- c('gene_id') write.csv(COVIN_12_wpi_DEGs,'COVIN_12_wpi_gene.csv') # 转置 set1 <- t(COVIN_12_wpi_DEGs) set2 <- t(COVIN_16_wpi_DEGs) set3 <- t(COVIN_24_wpi_DEGs) head(set1) # gene_id # OTUD1 OTUD1 # RTKN2 RTKN2 # FAM107A FAM107A # EPAS1 EPAS1 # SPAAR SPAAR # SEMA3G SEMA3G 

二、可视化

1.二维

代码如下(示例):

# 二维 p <- venn.diagram(x=list(set1,set2), scaled = F, # 根据比例显示大小 alpha= 0.5, #透明度 lwd=1,lty=1,col=c('#FFFFCC','#CCFFFF'), #圆圈线条粗细、形状、颜色;1 实线, 2 虚线, blank无线条 label.col ='black' , # 数字颜色abel.col=c('#FFFFCC','#CCFFFF',......)根据不同颜色显示数值颜色 cex = 2, # 数字大小 fontface = "bold", # 字体粗细;加粗bold fill=c('#FFFFCC','#CCFFFF'), # 填充色 配色https://www.58pic.com/ category.names = c("LUAD", "COVID") , #标签名 cat.dist = 0.02, # 标签距离圆圈的远近 cat.pos = -180, # 标签相对于圆圈的角度cat.pos = c(-10, 10, 135) cat.cex = 2, #标签字体大小 cat.fontface = "bold", # 标签字体加粗 cat.col='black' , #cat.col=c('#FFFFCC','#CCFFFF',.....)根据相应颜色改变标签颜色 cat.default.pos = "outer", # 标签位置, outer内;text 外 output=TRUE, filename='LUAD_COVID_wpi.png',# 文件保存 imagetype="png", # 类型(tiff png svg) resolution = 400, # 分辨率 compression = "lzw"# 压缩算法 ) 

请添加图片描述

2.三维

代码如下(示例):

venn.diagram(x=list(set1,set2,set3), category.names = c("12_wpi", "16_wpi",'24_wpi') , #标签名 filename='LUAD_COVID.png',# 文件保存 output=TRUE, main = "COVID_DEGs", # 设置输出参数 imagetype="png", # 类型(tiff png svg) resolution = 400, # 分辨率 compression = "lzw", # 压缩算法 # 圆的调整 scaled = F, # 根据比例显示大小 alpha= 0.5, #透明度 lwd=1, # 描边粗细 lty=1, col=c('#FFFFCC','#CCFFFF',"#FFCCCC"), #圆圈线条粗细、形状、颜色;1 实线, 2 虚线, blank无线条 label.col ='black' , # 数字颜色abel.col=c('#FFFFCC','#CCFFFF',......)根据不同颜色显示数值颜色 # 文字大小 cex = 1, # 字体大小 fontface = "bold", # 字体粗细;加粗bold fill=c('#FFFFCC','#CCFFFF',"#FFCCCC"), # 填充色 配色https://www.58pic.com/ #每个集合的名称: cat.cex=1.2, cat.default.pos="outer", # 集合名称位置:outer --外部;text --内部 cat.pos=c(-27,27,180), # 集合名称分别在圈圈的什么角度 cat.dist=c(0.055,0.055,0.055), # 外部多少距离 cat.col='black' , # cat.col=c('#FFFFCC','#CCFFFF',.....)根据相应颜色改变标签颜色 cat.fontfamily="sans", rotation=1 # 旋转 ) 

请添加图片描述

3.数据保存

# 查看交集详情,并导出结果 # 只导出交集基因 inter <- get.venn.partitions(LUAD_COVID) inter <- get.venn.partitions(list(set1,set2,set3)) # i=1 values <- as.data.frame(inter[[i,'..values..']]) colnames(values) <- c('gene_name') write.csv(values, "all_common_difference_gene.csv") # 导出全部 inter <- get.venn.partitions(LUAD_COVID) for (i in 1:nrow(inter)) inter[i,'values'] <- paste(inter[[i,'..values..']], collapse = '|') inter <- subset(inter, select = -..values.. ) inter <- subset(inter, select = -..set.. ) write.table(inter, "result_16_wpi.csv", row.names = FALSE, sep = ',', quote = FALSE) 

总结

本文用到的数据如有需要,请私我发送!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/134776.html

(0)
上一篇 2025-07-09 18:26
下一篇 2025-07-09 18:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信