我有以下用于R - VennDiagram的脚本,其中集合被自动填充,集合(如此处为b1)可能为空:
suppressPackageStartupMessages(library(VennDiagram))
b1 <- c()
b2 <- c(1,2)
base_data <- list(b1, b2)
names(base_data) <- c("b1", "b2")
pdf(file="out.pdf",7,7)
p1 <- venn.diagram(base_data,filename = NULL,euler.d=False,cex=2,cat.cex=2)
grid.draw(p1)
dev.off()
R比我给出了以下错误:
Error in x[[i]] : subscript out of bounds
Calls: venn.diagram -> unique
Execution halted
我测试了几个变种并且总是被抛出,只要在创建的列表中,空集就在另一个集合的前面。
我知道对于其他R-Venn库,甚至可以传递4个空集并解析每个部分中填充零的维恩图。
那么,VennDiagram是否也可以用空集来构建图表?如果是的话,我做错了什么?
提前谢谢!
朱莉娅
答案 0 :(得分:0)
好吧,让我指出empty set
并不是真正放入维恩(或欧拉)图表的有效项目,因此您不应该尝试这样做。空集与任何东西的交集是否有任何元素? (无)。
如果其他包正在绘制空集,则它们违反了代数规则。作为最后一个例子,尝试将两个空集的交集与相同两个空集的并集进行比较。