我一直在研究 GNU R 中的维恩图。我尝试过使用包 venneuler 和 VennDiagram。我发现 VennDiagram 有更精细的控制,但似乎缺乏填写所有细节的文档。我能找到的最接近的是这个 PPT 文件。 http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3041657/bin/1471-2105-12-35-S4.PPT我从网址中找到的:http://www.ncbi.nlm。 nih.gov/pmc/articles/PMC3041657/
这是我使用 VennDiagram 的问题。
对于代码
require(VennDiagram)
venn.diagram(list(B = 1:2000, A = 200:400),fill = c("yellow", "blue"),
alpha = c(0.8, 0.8), cex =1.5, cat.pos=0, cat.fontface = 4,
lty = 1, fontfamily =3, filename = "test001.jpeg");
(我这里有一张图片,但由于我是新人,所以我无权发布图片。请从上面的代码生成图片。)
我可以制作一个子集(因此一个圆圈内有一个圆圈)。但我没有找到一种方法来执行以下操作:
- 使 BC 显示为等于 B^C。不,文字“B^C”不起作用。我认为有一种方法可以重新标记不同属性中的集合,但我还没有看到这样做的方法。
- 将 B^C 和 A^C 的标签放置在集合内,而不是当前显示的外部。我试过 cat.pos="inner" 但这不是一个有效的属性。我还尝试了 cat.pos=c(0,0) 希望我可以将它作为 X,Y 提供,其中 X 和 Y 来自圆心,但它没有产生任何不同的结果。
感谢 DWin,这是完成我的练习图的代码。假设 A ⊂ B。证明 B c ⊂ A c。
require(VennDiagram)
plot.new()
venn.plot <- venn.diagram(
x = list(B = 1:200, A = 20:40), category.names= expression(B, A),
fill = c("yellow", "blue"), alpha = c(0.8, 0.8), cex =1.5,
cat.pos=0, cat.dist=c(-.1, -.1), filename = NULL) ;
grid.draw(venn.plot); # grid graphic requires explicit print or draw operation
grid.text(expression(B^c),x=0.2,y=0.95)
grid.text(expression(A^c),x=0.16,y=0.95)
grid.text(expression(A^c),x=0.16,y=0.75)