有谁知道如何让R包VennDiagram根据设定的大小来缩放包含3个相交集的维恩图的圆圈?
我可以通过venneular包实现这种扩展,但我发现与VennDiagram相比,其他图形选项有点受限.
VennDiagram包文档建议将参数'scaled'设置为TRUE应该可以做到这一点,但我发现这会产生3个相同大小的圆.
包文档确实以密码形式表明缩放参数可能仅适用于某些图:
?draw.triple.venn
Run Code Online (Sandbox Code Playgroud)
揭示了:
scaled:"布尔值,指示是否根据设置的尺寸缩放某些欧拉图中的圆形尺寸"
和
?venn.diagram
#Argument Venn Sizes Class Description
#scaled 2, 3 logical Enable scaling for two-set and certain three-set Euler diagrams.
Run Code Online (Sandbox Code Playgroud)
我的代码的玩具示例:
require(VennDiagram)
venn.plot <- draw.triple.venn(
area1 = 70,
area2 = 250,
area3 = 500,
n12 = 30,
n23 = 60,
n13 = 10,
n123 = 5,
category = c("C1", "C2", "C3"),
fill = c("blue", "red", "green"),
scaled=TRUE)
tiff(filename = "test.tiff", compression = "none",type = "quartz",antialias = "none")
grid.draw(venn.plot)
dev.off()
Run Code Online (Sandbox Code Playgroud)
类似地,使用'venn.diagram'函数的代码不会产生所需的缩放:
venn.diagram(x=list(A=c(1:15,16:20), B=c(6:15,21:30,100:150), C=c(11:30,200:300)), …Run Code Online (Sandbox Code Playgroud)