jon*_*jon 54 plot r venn-diagram
我有以下类型的计数数据.
A 450
B 1800
A and B both 230
Run Code Online (Sandbox Code Playgroud)
我想开发一个色彩丰富的(可能是交叉点的半透明度),如下面的维恩图.
注意:此图是在PowerPoint中绘制的示例,并且不是按比例绘制的.
Gee*_*cid 49
这是一篇文章,从集群列表和共同发生因素的角度讨论维恩图.
为了方便解决方案,使用包装通风机:
require(venneuler)
v <- venneuler(c(A=450, B=1800, "A&B"=230))
plot(v)
Run Code Online (Sandbox Code Playgroud)
如需更高级和定制的解决方案,请查看包装VennDiagram.
jon*_*jon 42
基于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");
Run Code Online (Sandbox Code Playgroud)
Joh*_*son 38
我最近发布了一个新的R包,eulerr,它可以满足您的需求.它与venneuler非常相似,但没有它的不一致性.
library(eulerr)
fit <- euler(c(A = 450, B = 1800, "A&B" = 230))
plot(fit)
Run Code Online (Sandbox Code Playgroud)
或者您可以在eulerr.co上尝试相同r包的闪亮应用程序
kty*_*agi 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))
Run Code Online (Sandbox Code Playgroud)
之后我只使用插画家添加颜色和透明度.
小智 5
您可以下载并运行直观且灵活的比例绘图仪。查找地址: http: //omics.pnl.gov/software/VennDiagramPlotter.php
和
jvenn:交互式维恩图查看器 - GenoToul Bioinfo: http: //bioinfo.genotoul.fr/jvenn/
我知道OP询问R中的解决方案,但我想指出一个名为BioVenn的基于网络的解决方案。它最多需要 3 个元素列表并绘制一个维恩图,以便每个表面与元素数量成正比 - 就像这样:
在此图中,我手动(通过 PhotoShop)更改了数字的位置,因为我不喜欢 BioVenn 选择的位置。但您可以选择不提供数字。
理论上,BioVenn 使用的列表应包含基因 ID,但实际上,这并不重要 - 列表只需包含字符串即可。