我有以下类型的计数数据。
A 450
B 1800
A and B both 230
我想开发一个彩色的(可能在十字路口半透明),如下面的维恩图。
注:此图为 PowerPoint 中手绘示例,未按比例绘制。
我有以下类型的计数数据。
A 450
B 1800
A and B both 230
我想开发一个彩色的(可能在十字路口半透明),如下面的维恩图。
注:此图为 PowerPoint 中手绘示例,未按比例绘制。
这是一篇从集群列表和共同发生因素中讨论维恩图的帖子。
为了简单的解决方案使用包venneuler:
require(venneuler)
v <- venneuler(c(A=450, B=1800, "A&B"=230))
plot(v)
如需更高级和定制的解决方案,请查看VennDiagram包。
library(VennDiagram)
venn.diagram(list(B = 1:1800, A = 1571:2020), fill = c("lightblue", "green"),
alpha = c(0.5, 0.5), lwd =0, "venn_diagram.tiff")
我最近发布了一个新的 R 包eulerr,它可以满足您的需求。它与 venneuler 非常相似,但没有不一致之处。
library(eulerr)
fit <- euler(c(A = 450, B = 1800, "A&B" = 230))
plot(fit)
或者您可以在eulerr.co上为相同的 r 包尝试闪亮的应用程序
根据 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");
即使这并不能完全回答您的问题。我认为这对其他想要绘制维恩图的人很有用。可以使用 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))
之后我只是使用 illustrator 添加颜色和透明度。
有一个直观且灵活的比例绘图仪,您可以下载并运行。在以下位置找到它: http: //omics.pnl.gov/software/VennDiagramPlotter.php
和
jvenn:交互式维恩图查看器 - GenoToul Bioinfo:http ://bioinfo.genotoul.fr/jvenn/
我知道 OP 询问 R 中的解决方案,但我想指出一个名为BioVenn的基于 Web 的解决方案。它最多需要 3 个元素列表并绘制维恩图,以便每个表面与元素的数量成正比 - 如下所示:
在此图中,我手动(通过 PhotoShop)更改了数字的位置,因为我不喜欢 BioVenn 选择的位置。但是您可以选择不使用数字。
理论上,BioVenn 使用的列表应该由基因 ID 组成,但在实践中,这并不重要 - 列表只需要包含字符串。
FWIW:发现这个python包做同样的事情。