R绘制韦恩图 | Venn图

解决方案有好几种:

  • 网页版,无脑绘图,就是麻烦,没有写代码方便
  • 极简版,gplots::venn
  • 文艺版,venneuler,不好安装rJava,参见Y叔
  • 酷炫版,VennDiagram

特别注意

目前主流的韦恩图都只支持5个类别,多了不能使用韦恩图。

UpSet某种程度上可以显示多于5个类别,但是结果不是很直观,不推荐。

library(ComplexHeatmap)
m = make_comb_mat(venn.list)
UpSet(m)

 

1. 网页版的就不说了,非常简单,直接输入数据就行;

R版的输入都是一种数据结构list,可以单独出来。

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叔公众号 

 

posted @ 2019-07-08 12:57 Life·Intelligence 阅读(...) 评论(...) 编辑 收藏
TOP