如何绘制3组比例维恩/欧拉图?

时间:2013-02-02 14:09:19

标签: r plot venn-diagram

我有一组微阵列数据,我想根据附图(用PowerPoint完成)来表示它。我已经尝试过R(VennDiagram,venneuler,limma)的各种包装。但是,我无法按比例绘制数据或显示数值。

有没有人知道该怎么做?

可以在下面找到可以使用的代码!

谢谢!

# 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

2 个答案:

答案 0 :(得分:0)

我会推荐VennDiagram包: http://cran.r-project.org/web/packages/VennDiagram/VennDiagram.pdf

在第19页,您将找到10个很好的例子(高级和简化的例子)。到目前为止,我还没有找到任何不能做的事情,我需要它做。

作为对此问题最终结束的其他人的一般帮助(与此问题没有直接关系,但相关),我建议您使用this search

寻找答案

答案 1 :(得分:0)

使用我的nVennR软件包,可以通过两种方式完成此操作,如vignette所示。在此示例中,

> library(nVennR)
> myV <- createVennObj(nSets = 3, sNames = c('A', 'B', 'C'), sSizes = c(0, 86, 104, 90, 162, 112, 206, 2433))
> myV <- plotVenn(nVennObj = myV)

Three sets, proportional

包装可以代表更多套。