R语言画韦恩图的一个小例子~ggvenn

韦恩图是用来展示不同组数据间交集和差异的一种可视化方法。比如我们有三组数据,分别是A,B,C。A里的数据是1,2,3。B里的数据是2,3,4。C里的数据是3,4,5,。那么AB有两个交集,BC有两个交集,AC有1个交集,ABC之间有1个交集。那么用韦恩图展示就是下面的效果

R语言里画韦恩图的包我目前知道的有五个,分别是

  • VennDiagram
  • ggvenn
  • ggVennDiagram
  • yyplot ggvenn()函数
  • ChIPseeker vennplot()函数

yyplot画韦恩图可以参考 https://guangchuangyu.github.io/cn/2018/04/ggvenn/
这个画出来的韦恩图每个圈好像是按实际数据多少的比例来画的。

而其他几个韦恩图画出的圈的大小都是一样的。

ChIPseeker 画韦恩图可以参考 https://mp.weixin.qq.com/s/MqpfgkMJSFj0pYwcEjV9kQ?

代码

x1 <- list(A=sample(genes,300),B=sample(genes,525),C=sample(genes,440))
BiocManager::install("ChIPseeker")
library(ChIPseeker)
help(package="ChIPseeker")
install.packages("Vennerable", repos="http://R-Forge.R-project.org")
ChIPseeker::vennplot(x1,by='Vennerable')

今天先介绍一下使用ggvenn这个包来画韦恩图的简单小例子。
ggvenn画韦恩图接受2—4组数据,输入数据可以整理成数据框或者列表格式。我个人感觉列表格式还是相对比较好用的。

比如先模拟生成数据

genes <- paste("gene",1:1000,sep="")
set.seed(20190708)
x <- list(A=sample(genes,300),B=sample(genes,525),C=sample(genes,440),D=sample(genes,350))

这个模拟生成数据的代码来自ggVennDiagram这个包的github主页 https://github.com/gaospecial/ggVennDiagram

画图

library(ggvenn)
ggvenn(x,c("A","B","C","D"))

还有很多参数可以设置来修改画图的细节,比如填充颜色,颜色的透明度,线条的颜色,线条的透明度等等。具体参数可以查看帮助文档。

欢迎大家关注我的公众号
小明的数据分析笔记本

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章