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"))

還有很多參數可以設置來修改畫圖的細節,比如填充顏色,顏色的透明度,線條的顏色,線條的透明度等等。具體參數可以查看幫助文檔。

歡迎大家關注我的公衆號
小明的數據分析筆記本

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