解决方案有好几种:
- 网页版,无脑绘图,就是麻烦,没有写代码方便
- 极简版,gplots::venn
- 文艺版,venneuler,不好安装rJava,参见Y叔
- 酷炫版,VennDiagram
1. 网页版的就不说了,非常简单,直接输入数据就行;
2. 极简版
options(repr.plot.width=4, repr.plot.height=5) vp <- gplots::venn(list(Nup=names(moduleListN_DEG[["up"]]), Ndown=names(moduleListN_DEG[["down"]]), Gup=names(moduleListG_DEG[["up"]]), Gdown=names(moduleListG_DEG[["down"]])))
3. 还没成功过,需安装rJava,代码如下:
set.seed(2017-11-08) x <- matrix(sample(0:4, 40, TRUE, c(.5, .1, .1, .1, .1)), ncol=4) colnames(x) <- LETTERS[1:4] yyplot::ggvenn(x)
4. VennDiagram,只能保存图为文件(三种可选:tiff, png or svg),非常实用和美观,但是不能做下游美化。
library(VennDiagram) venn.diagram(list(Nup=names(moduleListN_DEG[["up"]]), Ndown=names(moduleListN_DEG[["down"]]), Gup=names(moduleListG_DEG[["up"]]), Gdown=names(moduleListG_DEG[["down"]])), fill=c("red","green","blue","yellow"), alpha=c(0.5,0.5,0.5,0.5), imagetype = "tiff", category.names = rep("", 4), height = 600, width = 600, resolution = 100, cex=2, cat.fontface=4, filename="VennDiagram.tiff")
参考:
R作图 在R中绘制韦恩图的几种方法 和 一些漂亮的venn图
ggplot2版本的维恩图 - Y叔公众号