我使用eulerr包创建了维恩图,但它不允许我对其进行自定义,并且内圆的轮廓似乎触及了示例空间圆。我浏览了VennDiagram软件包手册,但没有运气。有没有一种方法可以使用ggplot2或任何其他R包创建维恩图。
我正在寻找该用户正在尝试使用我拥有的数据进行的操作。 3套落入整个样品空间。 How to draw a venn diagram subset by a main vector in R
这是使用eulerr包创建的:
这是我所拥有的数据。圆B,C和D应该在圆A内,圆总数为141。变量a中的35是3维恩图与圆之间的空间(空白)。
b = c(50,0,9,2,1,0,0,0)
c = c(50,21,0,2,0,3,0,0)
d = c(50,21,9,2,0,3,20,0)
a = c(50, 21, 9, 2,1,3,20,35)
手提包= cbind(b,c,d,a)
我不知道该如何做并制作一个可以定制的图表。
使用eulerr软件包时,我在命令中手动输入了数据。
答案 0 :(得分:0)
您可以考虑使用我的nVennR
包裹。有了您的数据,
>library(nVennR)
> myV <- plotVenn(list(b = c(50,9,2,1),
+ c = c(50,21,2,3),
+ d = c(50,21,9,2,3,20),
+ a = c(50, 21, 9, 2,1,3,20,35)))
> showSVG(myV, opacity = 0.2, borderWidth = 1)
结果:
您还可以列出每个区域中的元素:
> listVennRegions(myV)
$`0, 0, 0, 1 (a)`
[1] 35
$`0, 0, 1, 1 (d, a)`
[1] 20
$`0, 1, 1, 1 (c, d, a)`
[1] 21 3
$`1, 0, 0, 1 (b, a)`
[1] 1
$`1, 0, 1, 1 (b, d, a)`
[1] 9
$`1, 1, 1, 1 (b, c, d, a)`
[1] 50 2
请注意,我删除了您列表中的零。程序包将这些零作为元素,列表a中没有这些零。如果您有兴趣,可以为算法找到vignette和web interface。