在研究生的时候,就用R绘制过韦恩图,正如之前所言的,我当时基本上对组学一无所知,对R也是刚知道。但是当时老板给了9例转录组的数据,只好硬着头皮去学习了。所以当时还是根据excel
的vlookup
函数去比较三个比较组之间的交并集大小。最后用在网上学的一点皮毛,用VennDiagram
包绘制了三组分的韦恩图。当时觉得自己老牛逼了,哈哈,还一度当了头像。
前言
在研究生的时候,就用R绘制过韦恩图,正如之前所言的,我当时基本上对组学一无所知,对R也是刚知道。但是当时老板给了9例转录组的数据,只好硬着头皮去学习了。所以当时还是根据excel
的vlookup
函数去比较三个比较组之间的交并集大小。最后用在网上学的一点皮毛,用VennDiagram
包绘制了三组分的韦恩图。当时觉得自己老牛逼了,哈哈,还一度当了头像。哈哈
其实韦恩图很多在线绘制的网站:
说实话,在线绘制的网站很强大,只要点开上述网站,估计你也没兴趣看我写的R语言绘制韦恩图。比如你可以在上述网站做出来下面的韦恩图。我擦勒,这么好看的图,在线就可以直接出来结果,如果你继续往下看用R语言如何绘制韦恩图。那你基本上是找虐的主了。
所以我肯定不能再用丑比的,非人类友好的,参数巨复杂的VennDiagram
包来画普通的韦恩图了。要来点高级的。
不过开始之前,我还是要劝各位一句。上述的在线网站真的够用了。谁用谁知道,就跟明明现在网上很多在线绘制进化树的网站,但是大家还是喜欢用DNAman
来比对,MEGA
来优化。这不是找虐嘛。
来点高级的
发现了一个R包,说牛逼是真牛逼,画的韦恩图不局限6组分,而是可以实现任意组分,并且是基于拓扑学运算的,图形高大上。说傻也傻,画的图不能展现在R自带的绘图窗中,必须展现在AI等svg
编辑器中。巨麻烦,我都懒的整理自己的数据来写公众号,因此这个我也不会标原创,虽然我是翻译的,哈哈哈。
浪费我两个小时摸索这个R包。我也是傻包
画少数组分的韦恩图
library(nVennR)
exampledf
#> Employee SAS Python R
#> 1 A001 Y Y Y
#> 2 A002 N Y Y
#> 3 A003 Y Y N
#> 4 A004 Y Y Y
#> 5 A005 Y N N
#> 6 A006 Y N Y
#> 7 A007 N N N
#> 8 A008 Y N N
#> 9 A009 N N Y
#> 10 A010 N N Y
#> 11 A011 Y Y Y
#> 12 A012 Y Y Y
#> 13 A013 Y N Y
#> 14 A014 Y N Y
#> 15 A015 N N Y
#> 16 A016 N N Y
#> 17 A017 N Y N
#> 18 A018 N Y N
sas <- subset(exampledf, SAS == "Y")$Employee
python <- subset(exampledf, Python == "Y")$Employee
rr <- subset(exampledf, R == "Y")$Employee
myV <- plotVenn(list(SAS=sas, PYTHON=python, R=rr), nCycles = 2000, outFile = "niubi.svg")
绘制的图形如下:
这个图不得不说是很高大上的。但是人类不友好啊,各位要是为了这么一张图,发表在文章中,花点时间是值得的,我就不研究了。没那个刚需。
美化图形
myV3 <- createVennObj(nSets = 5, sSizes = c(rep(1, 32)))
showSVG(nVennObj = myV3, opacity = 0.1, borderWidth = 3)
设置透明度和边界宽度
showSVG(nVennObj = myV3, setColors = c('#d7100b', 'teal', 'yellow', 'black', '#2b55b7'))
设置颜色
这个包还是先养肥再杀吧,希望作者能记得更新迭代下,目前真的很不优化。但是如果要在文章中展现,花点时间是研究是值得的
官方文档:https://cran.r-project.org/web/packages/nVennR/vignettes/nVennR.html