How to plot a 3 set proportional Venn/Euler diagram?

Strohmi picture Strohmi · Feb 2, 2013 · Viewed 9.1k times · Source

I have a set of microarray data, and I would like to represent it according to the attached figure (done with PowerPoint). I have tried the various packages available for R (VennDiagram, venneuler, limma). However, I was not able to draw the data proportionally or showing the values.

Does anyone have an idea how to do it?

Code to play with can be found below!

Thank you!

# you might need these:
source("http://www.bioconductor.org/biocLite.R")
biocLite("limma")
library(VennDiagram)
library(limma)
library(venneuler)

# Trial 1: Kind of proportional but difficult to customize for labels and other stuff
su <- venneuler(c(A=162, B=104, C=86, "A&B"=206, "A&C"=112, "B&C"=90 ,"A&B&C"=2433))
plot(su)

# Trial 2: looks nice but not proportional
hw <- c(F,F,F,F,T,T,T,T)
hm <- c(F,F,T,T,F,F,T,T)
hr <- c(F,T,F,T,F,T,F,T)
c4 <- cbind(hw,hm,hr)
e <- vennCounts(c4)
e[1:8,4] <- c(3193,86,104,90,162,112,206,2433)
vennDiagram(e)

enter image description here

Answer

Stenemo picture Stenemo · Mar 21, 2014

I would recommend the package VennDiagram: http://cran.r-project.org/web/packages/VennDiagram/VennDiagram.pdf

On pake 19 you will find 10 pakes of very good examples (both advanced and simplified ones). As of yet I have not found anything that it can't do that I need it to do.

As a general help for other people who end up here regarding this question (not directly pertinent to this question, but relevant), i would recommend looking for your answer using this search