0

使用 R 绘制维恩图时出现错误。代码如下:

library(VennDiagram)
venn.plot <- draw.triple.venn(
area1 = 2249,
area2 = 2124,
area3 = 2133,
n12 = 2061,
n23 = 2101,
n13 = 2072,
n123 = 2030,
category = c("Human(all)", "Mouse(all)", "Rat(all)"),
col = "black",
alpha=0.5,
fill = c("darkorchid1", "cornflowerblue", "green"),
lty = "blank",
cex = 1,
cat.cex = 2,
cat.col = c("darkorchid4", "darkblue", "darkgreen")
);
tiff(filename = "2.f.tiff", compression = "lzw");
grid.draw(venn.plot);
dev.off();

它给了我一个错误:"draw.triple.venn(area1 = 2249, area2 = 2124, area3 = 2133, n12 = 2061,Impossible: partial areas negative"

为什么我的代码最终会出现此错误?

4

1 回答 1

1

你需要检查你的数字/数学。如果您将交叉点定义为圆 3 需要至少 2143 个计数,并且您只给它一个 2133 的区域。

我检查了 VennDiagram 包的文档,据我了解,area1、area2 和 area3 应该是这些集合的总面积——而不仅仅是不与其他集合重叠的子集。

当我做数学计算时,我分别得到 -10 和 -8 的 3 个和 2 个类别。

于 2013-05-30T18:21:32.310 回答