R語言可視化(九):韋恩圖繪制 - 簡書 (jianshu.com)
R語言:VennDiagram繪制venn圖 - 簡書 (jianshu.com)

)AW19@`V{NG1R6KUU{@8YQF.png
library(data.table)
cell<-fread("cell.txt",data.table = F)
shangqing<-fread("shangqing.txt",data.table = F)
#############一、數(shù)據(jù)過濾
##############1.5
cell.fil <- cell[cell$`P-value`<0.05 & cell$`Fold Change`>1.5,]
shangqing.fil<-shangqing[shangqing$`P-value`<0.05 & shangqing$`Fold Change`>1.5,]
##############1.2
cell.fil <- cell[cell$`P-value`<0.05 & cell$`Fold Change`>1.2,]
shangqing.fil<-shangqing[shangqing$`P-value`<0.05 & shangqing$`Fold Change`>1.2,]
##############二、算p值
# 轉(zhuǎn)化為列表數(shù)據(jù)類型
dat <- list(KPC.cells=cell.fil$Metabolite,KPC.supernatant=shangqing.fil$Metabolite)
n.bk <- length(unique(unlist(dat)))
#SuperExactTest
library(SuperExactTest)
##############
mset.res <- MSET(x = dat, # 定義的列表數(shù)據(jù)
n = 823, # n為背景群體數(shù)量,如基因總數(shù),或這里的總的英文字母數(shù)26
lower.tail = FALSE) #lower.tail=FALSE表示計算上側(cè)拖尾P值(統(tǒng)計量大于一個觀察到的值概率),即這里要計算的多個數(shù)據(jù)集重疊顯著P值
p.value <- mset.res$p.value
# 打印pvalue
p.value
###########三、韋恩圖
intersect <- intersect(cell.fil$Metabolite,shangqing.fil$Metabolite)
intersect
library(VennDiagram)
pdf(file="intersect.1.2.pdf",width = 10, height =8)
venn.plot <- venn.diagram(
x = list(KPC.cells=cell.fil$Metabolite,KPC.supernatant=shangqing.fil$Metabolite),
filename = NULL,
# 圈
lwd = 15, # 圈線條粗細(xì) 1 2 3 4 5
lty = 1, # 線條類型, 1 實線, 2 虛線, blank 無線條
fill = c("white", "white"), # 填充色
col = c("#de0f17", "#2529d8"), # 線條色
alpha = 0.75,
# 數(shù)字 number
cex = 4, # 數(shù)字大小
fontface = "bold", # 加粗
fontfamily = "sans", # 字體
label.col = "#00334e",
# 標(biāo)簽 category
cat.cex = 3, # 字體大小
cat.col = c("#de0f17", "#2529d8"), # 字體色
cat.fontface = "bold", # 加粗
cat.default.pos = "outer", # 位置, outer 內(nèi) text 外
cat.pos = c(0, 0), # 位置,用圓的度數(shù)
cat.dist = c(0.05, 0.05), # 位置,離圓的距離
cat.fontfamily = "sans" # 字體
#rotation = 1 # 1 2 3 旋轉(zhuǎn)確定大打頭數(shù)據(jù)集
);
grid.draw(venn.plot);
dev.off()
grid.newpage();
`````