上海锐翌生物科技有限公司

服务电话:021-51001612

邮箱:support@realbio.cn

技术课堂

Venn图后续
发布时间:2018-06-26 17:54   点击率:
Venn图可以展示多个样本/分组某种属性共有和特有的部分,如OTU,基因等。由此可以观察样本/分组的相似程度。在R语言中有很多拓展包可以画Venn图,使用方法大致相同,下面介绍一下用VennDiagram包画venn图。


没有安装VennDiagram包可以使用install.packages来安装。
library(VennDiagram)    #调用VennDiagram包
#产生2个随机样本
A=sample(0:30,20)    # 18 12 27  8  1 23 25  7 24  9 29 15  4 14  3 11 22 10  2 26
B=sample(0:30,20)    #28  0 24 19 21  5  6 29 22  1 30  3 23 16 10  4  2 25 26 20
venn.diagram(list(A=A,B=B),'test.tiff')  #画venn图
到这里简单的venn图就完成了,如下图:


上面的这张图可能过于简单,venn.diagram还提供了大量的参数来美化你的venn图。
venn.diagram(list(A=A,B=B),       #数据,不能大于5组
imagetype='png',     #输出文件的类型 (tiff, png or svg)
filename ='test.tiff',    # 输出文件名
fill=c('red','blue'),     #选择分组颜色
main='test',           
main.pos=c(0.5, 1),     
main.cex=2.5)       #标题,位置,大小
效果如下:

调节字体,文字颜色等参数可通过查看venn.diagram帮助来获取。
通过venn图可以得到共有,特有的数量,有时我们还需要得到具体的数据,这里我们可以用集合操作。
  intersect(A,B)  #AB共有元素
  #1 23 25 24 29  4  3 22 10  2 26
  setdiff(A,B)    # A 特有部分
# 18 12 27  8  7  9 15 14 11
  setdiff(B,A)    #B 特有的部分
  # 28  0 19 21  5  6 30 16 20

锐翌原创文章,未经授权严禁转载。