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叔公眾號 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM