R Venn.diagram设置背景透明

我们都知道,在一般的ggplot2绘图中我们可以设置bg=“transparent”来使图片背景透明,但是venn diagram中却不能实现。对,没法设置背景透明

尝试设置bg="transparent"无效,而alpha是指圈圈里面填充颜色的透明度,需要先设置fill的颜色,如果无颜色填充,则该参数无效。参数范围0-1,1表示完全透明。

这里介绍另个一个画venn图的包:ggvenn就可以设置背景透明:

if (!require(devtools)) install.packages("devtools")
devtools::install_github("yanlinlin82/ggvenn")

library(ggvenn)

它可以将最终的图转换为ggplot2的形式,就可以用ggsave("test.png",p,dpi = 600, bg = "transparent")来设置背景透明了。
它也有一些不方便的地方,比如
不能改变圈的颜色,只能设置透明度,
画出来的图不能根据overlap的多少调整图overlap的比例,比如下面还有0的,应该合并到一起。像第二个图一样


ggvenn 图

venn.diagram图

小技巧:如何在Rstudio中直接展示venn图:

只需要写一个小函数:

# 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)
}

然后调用函数,将venn图的代码放进去就行了:

display_venn(list(A=A, B=B))

你可能感兴趣的:(R Venn.diagram设置背景透明)