R语言绘图 | Venn图

setwd("F://张秀秀//过程性文件//8//8//OX1931B10")
new_gremline<-read.table("germline_mutations_hg38_new.txt",sep = "\t",header = T)
old_gremline<-read.table("germline_mutations_hg38_old.txt",sep = "\t",header = T)
dim(new_gremline) #2572
dim(old_gremline) #2367
#为了确保准确性,这次不进行位点的比较(因为不同染色体会有不同的位点。这也没办法说服我自己),
#而是将我们关注的几个信息合并后进行比较
new_gremline<-within(new_gremline, mutation<- paste(Chr,Start,Ref,Alt,sep=" "))
old_gremline<-within(old_gremline, mutation<- paste(Chr,Start,Ref,Alt,sep=" "))
new_mutation<-new_gremline$mutation #需要进行画图的对象1
old_mutation<-old_gremline$mutation #需要进行画图的对象2
#然后就是一个简单的venn plot
library(VennDiagram)
# 二维韦恩图
venn.plot <- venn.diagram(
  x = list(Removal=new_mutation,Original=old_mutation),
  filename = NULL,
  lwd = 4,
  fill = c("cornflowerblue", "darkorchid1"),
  alpha = 0.75,
  label.col = "black",
  cex = 2,
  fontfamily = "serif",
  fontface = "bold",
  cat.col = c("cornflowerblue", "darkorchid1"),
  cat.cex = 1,
  cat.fontfamily = "serif",
  cat.fontface = "bold",
  cat.dist = c(0.03, 0.03),
  cat.pos = c(-20, 14),
  main = "OX1931B10 patient(9.6%)"
)
grid.draw(venn.plot)
grid.newpage()

最后的结果:
在这里插入图片描述

R语言中,要绘制一个6元Venn,我们可以使用特定的包来完成,如`limma`或`venneuler`等。这里,我将向你展示如何使用`limma`包来绘制一个6元Venn。首先,你需要确保已经安装了`limma`包,如果没有安装,可以使用`install.packages("limma")`命令进行安装。 以下是一个简单的例子,展示了如何使用`limma`包来绘制6元Venn: ```R # 加载limma包 library(limma) # 示例数据,这里假设我们有六个集合A, B, C, D, E, F,并且我们知道了它们之间的重叠情况 A <- 10 B <- 15 BD <- 20 BE <- 5 BF <- 10 CD <- 18 CE <- 8 CF <- 6 DE <- 25 DF <- 1 ACE <- 2 ACF <- 1 ADE <- 3 ADF <- 2 AEF <- 1 BCD <- 4 BCE <- 3 BCF <- 2 BDE <- 10 BDF <- 6 BEF <- 5 CDE <- 15 CDF <- 10 CEF <- 8 DEF <- 5 ABCDE <- 1 ABCDF <- 2 ABCEF <- 1 ABDEF <- 1 ACDEF <- 1 BCDEF <- 2 ABCDEF <- 1 # 创建一个列表,包含所有的集合和它们之间的重叠情况 venn <- list( A = A, B = B, C = C, D = D, E = E, F = F, AB = AB, AC = AC, AD = AD, AE = AE, AF = AF, BC = BC, BD = BD, BE = BE, BF = BF, CD = CD, CE = CE, CF = CF, DE = DE, DF = DF, EF = EF, ABC = ABC, ABD = ABD, ABE = ABE, ABF = ABF, ACD = ACD, ACE = ACE, ACF = ACF, ADE = ADE, ADF = ADF, AEF = AEF, BCD = BCD, BCE = BCE, BCF = BCF, BDE = BDE, BDF = BDF, BEF = BEF, CDE = CDE, CDF = CDF, CEF = CEF, DEF = DEF, ABCD = ABCD, ABCF = ABCF, ABCE = ABCE, ABDE = ABDE, ABDF = ABDF, ABEF = ABEF, ACDE = ACDE, ACDF = ACDF, ACEF = ACEF, BCDE = BCDE, BCDF = BCDF, BCEF = BCEF, BDEF = BDEF, CDEF = CDEF, ABCDE = ABCDE, ABCDF = ABCDF, ABCEF = ABCEF, ABDEF = ABDEF, ACDEF = ACDEF, BCDEF = BCDEF, ABCDEF = ABCDEF ) # 使用vennCounts函数来计算集合的重叠 v <- vennCounts(venn) # 使用vennDiagram函数来绘制Venn vennDiagram(v, include=c("100000", "010000", "001000", "000100", "000010", "000001", "110000", "101000", "100100", "100010", "011000", "010100", "010010", "001100", "001010", "000110", "111000", "110100", "110010", "101100", "101010", "100110", "011100", "011010", "010110", "001110", "111100", "111010", "110110", "101110", "011110", "111110", "111111"), circle.col = c("blue", "red", "green", "yellow", "purple", "orange"), counts.col = c("blue", "red", "green", "yellow", "purple", "orange")) ``` 这段代码首先创建了一个列表`venn`,其中包含了六个集合及其之间所有可能的交集数量。然后,使用`vennCounts`函数来计算这些集合的重叠情况。最后,使用`vennDiagram`函数绘制6元Venn,并指定了六个集合的填充颜色。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值