准备阶段
安装VennDetail包,首先需要安装BiocManager包
if (!require("BiocManager", quietly = TRUE))#确认是否有该包,安装BiocManager包
install.packages("BiocManager")
BiocManager::install(version = "3.18")#有Biochemistry包,但是运行时显示是版本问题,用该代码更新版本
library(BiocManager)
BiocManager::install('VennDetail',force = T)#安装VennDetail包
library(tidyverse)#后面的%>%要用
library(VennDetail)
读表处理表格数据
df <- read.delim("D:/agraduate/1plot/venn/BPG.txt",header = T,row.names = 1) %>%
data.frame() %>% as.list() # 读表并且将表格置换为list格式,我用的是属水平的绝对丰度表的均值
venn <- venndetail(df)
detail(venn)
head(result(venn))
head(result(venn, wide = TRUE))
head(getSet(venn, subset = c("Shared", "SK_FC_FK")))#跟着计算就可以了,后面的引号里面需要改成你的处理名
绘图
plot(venn, type = "venn", #默认type
col = "white", percentage = TRUE,show.number = TRUE,
mycol = c("#00AAFF","#0000ee","#ff5500","#ffaa00"),
cat.cex = 2.5, #处理名的大小
alpha = 1, #透明度
cex = 2) # Venn图中数字的大小
Venn图中的参数我改了一下,但是都不显示结果,应该是能力还不行
plot(venn, type = "vennpie")#绘制饼图,直接抄的答案,没有一丝丝修改,需要的话看起来更方便一点
dplot(venn, order = TRUE, textsize = 4)
plot(venn, type = "upset", sets.x.label = "Number of sample",
mycol = c("#ffaa00","#0000ee","#ff5500","#00AAFF"),
cat.cex = 3,cex = 3) #绘制Upset图,我尝试过了,我改不了他的顺序,我这里只能呈现这样的结果
全部的绘图流程和结果,能力有限,要是有人可以修改Upset的顺序,或者在Venn中添加百分比,记得踢我一脚