R中的三重维恩图:如何正确获取面积比例

问题描述

我正在尝试使用软件包vennDiagram比较使用R中的维恩图的不同测试方法。我遇到一个问题,即面积与数字的大小不成比例。 一切都很好,然后我比较了两种测试方法,如下所示:

draw.pairwise.venn(44,32,28,c("TestA","TestB"),fill = c("red","blue"))

但是,当我尝试比较3种方法时,面积不再成比例。我试图添加一些“ extras”,例如eulerr.d = TRUE和scaled = TRUE,但似乎无济于事。

draw.triple.venn(44,39,25,"TestC","green","blue"),euler.d = TRUE,scaled = TRUE)

有关如何解决此问题的任何提示

先谢谢您

比约恩

解决方法

您使用的参数确实为一些值集(例如

)创建了比例图
draw.triple.venn(1,3,5,1,c("TestA","TestC","TestB"),fill = c("red","green","blue"))

enter image description here

对于其他参数集,似乎不可能(或未编码)使面积与值成比例

,

文恩图和欧拉图都不要求重叠区域与含量的大小成正比,据我所知,它使图形稍微有用一点。我强烈建议您调查UpSetR软件包,它提供了一些非常酷的,有启发性的集合重叠图形表示。

同时,我会按照user20650的建议与eulerr一起使用,看看您是否发现更容易获得所需的叠图。 同样在CRAN上:bvenn,venneuler,vennplot和其他可能感兴趣的软件包。

侧面分析:如果您仅绘制与内容重叠的图,则它是欧拉图,而不是维恩图。

,

您不能使用圆显示三组或更多组的任意比例维恩图或欧拉图。在stackoverflow中有一个关于不同软件包的封闭线程来执行此操作。有两个选择是eulerrvignette),它使用椭圆和损失函数,而我开发的一个选择是nVennRvignette),它使用其他形状并保持几乎精确的比例。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...