在研究生的时候,就用R绘制过韦恩图,正如之前所言的,我当时基本上对组学一无所知,对R也是刚知道。但是当时老板给了9例转录组的数据,只好硬着头皮去学习了。所以当时还是根据excelvlookup函数去比较三个比较组之间的交并集大小。最后用在网上学的一点皮毛,用VennDiagram包绘制了三组分的韦恩图。当时觉得自己老牛逼了,哈哈,还一度当了头像。

前言

在研究生的时候,就用R绘制过韦恩图,正如之前所言的,我当时基本上对组学一无所知,对R也是刚知道。但是当时老板给了9例转录组的数据,只好硬着头皮去学习了。所以当时还是根据excelvlookup函数去比较三个比较组之间的交并集大小。最后用在网上学的一点皮毛,用VennDiagram包绘制了三组分的韦恩图。当时觉得自己老牛逼了,哈哈,还一度当了头像。哈哈

其实韦恩图很多在线绘制的网站:

说实话,在线绘制的网站很强大,只要点开上述网站,估计你也没兴趣看我写的R语言绘制韦恩图。比如你可以在上述网站做出来下面的韦恩图。我擦勒,这么好看的图,在线就可以直接出来结果,如果你继续往下看用R语言如何绘制韦恩图。那你基本上是找虐的主了。

img

所以我肯定不能再用丑比的,非人类友好的,参数巨复杂的VennDiagram包来画普通的韦恩图了。要来点高级的。

不过开始之前,我还是要劝各位一句。上述的在线网站真的够用了。谁用谁知道,就跟明明现在网上很多在线绘制进化树的网站,但是大家还是喜欢用DNAman来比对,MEGA来优化。这不是找虐嘛。

来点高级的

发现了一个R包,说牛逼是真牛逼,画的韦恩图不局限6组分,而是可以实现任意组分,并且是基于拓扑学运算的,图形高大上。说傻也傻,画的图不能展现在R自带的绘图窗中,必须展现在AIsvg编辑器中。巨麻烦,我都懒的整理自己的数据来写公众号,因此这个我也不会标原创,虽然我是翻译的,哈哈哈。

浪费我两个小时摸索这个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")

绘制的图形如下:

1552757458631

这个图不得不说是很高大上的。但是人类不友好啊,各位要是为了这么一张图,发表在文章中,花点时间是值得的,我就不研究了。没那个刚需。

美化图形

myV3 <- createVennObj(nSets = 5, sSizes = c(rep(1, 32)))
showSVG(nVennObj = myV3, opacity = 0.1, borderWidth = 3)

设置透明度和边界宽度

1552757806458

showSVG(nVennObj = myV3, setColors = c('#d7100b', 'teal', 'yellow', 'black', '#2b55b7'))

设置颜色

1552757905357

这个包还是先养肥再杀吧,希望作者能记得更新迭代下,目前真的很不优化。但是如果要在文章中展现,花点时间是研究是值得的

官方文档:https://cran.r-project.org/web/packages/nVennR/vignettes/nVennR.html