我們都知道,在一般的ggplot2繪圖中我們可以設(shè)置bg=“transparent”來使圖片背景透明,但是venn diagram中卻不能實(shí)現(xiàn)。對,沒法設(shè)置背景透明。
嘗試設(shè)置bg="transparent"無效,而alpha是指圈圈里面填充顏色的透明度,需要先設(shè)置fill的顏色,如果無顏色填充,則該參數(shù)無效。參數(shù)范圍0-1,1表示完全透明。
這里介紹另個(gè)一個(gè)畫venn圖的包:ggvenn就可以設(shè)置背景透明:
if (!require(devtools)) install.packages("devtools")
devtools::install_github("yanlinlin82/ggvenn")
library(ggvenn)
它可以將最終的圖轉(zhuǎn)換為ggplot2的形式,就可以用ggsave("test.png",p,dpi = 600, bg = "transparent")來設(shè)置背景透明了。
它也有一些不方便的地方,比如
不能改變?nèi)Φ念伾?,只能設(shè)置透明度,
畫出來的圖不能根據(jù)overlap的多少調(diào)整圖overlap的比例,比如下面還有0的,應(yīng)該合并到一起。像第二個(gè)圖一樣

ggvenn 圖

venn.diagram圖
小技巧:如何在Rstudio中直接展示venn圖:
只需要寫一個(gè)小函數(shù):
# Helper function to display Venn diagram
display_venn <- function(x, ...){
library(VennDiagram)
grid.newpage()
venn_object <- venn.diagram(x, filename = NULL, ...)
grid.draw(venn_object)
}
然后調(diào)用函數(shù),將venn圖的代碼放進(jìn)去就行了:
display_venn(list(A=A, B=B))