我们都知道,在一般的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))
网友评论