我有以下类型的计数数据。
A 450
B 1800
A and B both 230
我想在下面的维恩图中开发出色彩鲜艳的(可能在十字路口处是半透明的)。
注意:此图是在PowerPoint中绘制的示例,并且不按比例绘制。
答案 0 :(得分:49)
这是一篇讨论Venn diagram from list of clusters and co-occurring factors的帖子。
为方便解决方案,请使用包venneuler:
require(venneuler)
v <- venneuler(c(A=450, B=1800, "A&B"=230))
plot(v)
对于更高级和自定义的解决方案,请检查包VennDiagram。
答案 1 :(得分:41)
基于Geek On Acid的第二个回答第二个建议(再次感谢)我也能够解决线路问题。如果这与其他googlers有关,我会发帖!
require(VennDiagram)
venn.diagram(list(B = 1:1800, A = 1571:2020),fill = c("red", "green"),
alpha = c(0.5, 0.5), cex = 2,cat.fontface = 4,lty =2, fontfamily =3,
filename = "trial2.emf");
答案 2 :(得分:33)
我最近发布了一个新的R包eulerr,它可以满足您的需求。它与venneuler非常相似,但没有它的不一致性。
library(eulerr)
fit <- euler(c(A = 450, B = 1800, "A&B" = 230))
plot(fit)
或者您可以在eulerr.co
尝试相同r包的闪亮应用程序答案 3 :(得分:16)
即使这完全没有回答你的问题。我认为这对于想要绘制维恩图的其他人有用。 可以使用gplots包中的venn()函数: http://www.inside-r.org/packages/cran/gplots/docs/venn
## modified slightly from the example given in the documentation
## Example using a list of item names belonging to the
## specified group.
##
require(gplots)
## construct some fake gene names..
oneName <- function() paste(sample(LETTERS,5,replace=TRUE),collapse="")
geneNames <- replicate(1000, oneName())
##
GroupA <- sample(geneNames, 400, replace=FALSE)
GroupB <- sample(geneNames, 750, replace=FALSE)
GroupC <- sample(geneNames, 250, replace=FALSE)
GroupD <- sample(geneNames, 300, replace=FALSE)
venn(list(GrpA=GroupA,GrpB=GroupB,GrpC=GroupC,GrpD=GroupD))
之后我只使用插画家添加颜色和透明度。
答案 4 :(得分:4)
您可以下载并运行直观且灵活的比例绘图仪。找到它: http://omics.pnl.gov/software/VennDiagramPlotter.php
和
jvenn :一个互动的维恩图查看器 - GenoToul Bioinfo:http://bioinfo.genotoul.fr/jvenn/
答案 5 :(得分:4)
我知道OP询问R中的解决方案,但我想指出一个名为BioVenn的基于Web的解决方案。它最多需要3个元素列表并绘制一个维恩图,以便每个表面与元素的数量成比例 - 如下所示:
在此图中,我手动(通过PhotoShop)更改了数字的位置,因为我不喜欢BioVenn选择的位置。但你可以选择不拥有数字。
理论上,与BioVenn一起使用的列表应由基因ID组成,但实际上,无关紧要 - 列表只需包含字符串。
答案 6 :(得分:0)
FWIW:找到了用于Python的this软件包,它具有相同的作用。