scaling triple Venn diagram in R with VennDiagram package

青春壹個敷衍的年華 提交于 2019-11-30 14:03:16

So to answer my own question: for certain configurations it is mathematically impossible to create a scaled 3-way Venn using circles.

General scaling for three-set Venn diagrams are disabled due to potentially misleading visual representation of the data

Please try to use the following two tools,

http://bioinformatics.psb.ugent.be/webtools/Venn/ http://bioinfogp.cnb.csic.es/tools/venny/index.html

And to your question, please read the following notes:

the key point is to set overrideTriple in draw.triple.venn

Euler diagrams are drawn for 19 special cases if euler.d == TRUE. Certain Euler diagrams make use of the scaled, sep.dist, or offset arguments specific to two-set Venn diagrams where appropriate. The function defaults to placing the three circles in a triangular arrangement with two sets on top and one set below. The circles correspond to area1, area2 and area3 in a clockwise fashion with area1 on the top left. N.B. General scaling for three-set Venn diagrams are disabled due to potentially misleading visual representation of the data. To re-enable, assign any value to variable overrideTriple

http://cran.r-project.org/web/packages/VennDiagram/VennDiagram.pdf

Linner

I use Vennerable instead. Reading data into the Venn-object is somewhat complicated but it generates weighted/scaled three-set diagrams + graphic options.

If you would consider a different approach, we have developed the nVennR package with other shapes to convey region sizes.

mySVG <- plotVenn(list(A=c(1:15,16:20)), list(B=c(6:15,21:30,100:150)), list(C=c(11:30,200:300)))

Quasi-proportional Venn diagram

This R package is preliminary, and the options for output control are very limited. We are working on a new version with the feedback we are getting. There is also a Web version with more options, and the output can always be edited with external tools like Inkscape.

My solution:

overrideTriple=T
draw.triple.venn(9, 20, 30, 2, 10, 3, 2, category =
               rep("", 3), rotation = 1, reverse = FALSE, euler.d = F, scaled = F)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!