2016-08-21 95 views
2

歐拉圖的圈,我試圖讓這樣的事情:座標中的R

result_wanted

我的代碼仍處於這個階段:

result_my_code

不幸的是,我可以」用VennDiagram軟件包設置圓心的座標。有誰知道實現這個訣竅?還是另一個更接近我正在尋找的圖形的軟件包?

library(VennDiagram) 
venn.plot <- draw.triple.venn(area1=A, area2=B, area3=C, 
          n12 =A, n23 = B, n13 = A, n123 = A, 
          fill = c("yellow1", "yellow3", "yellow4"), 
          euler = TRUE, 
          c("First", "Second", "Third")) 

回答

2

對於您的具體情況(嵌套子集),您可以使用網格手動繪製三個圓。假設集合A包含集合B包含集合C:

library(grid) 

set_sizes <- c(A = 25, B = 16, C = 9) 
set_radii <- 0.5 * c(
    A = 1, 
    B = sqrt(set_sizes["B"]/set_sizes["A"]), 
    C = sqrt(set_sizes["C"]/set_sizes["A"]) 
) 

grid.newpage() 
grid.circle(
    y = set_radii, 
    r = set_radii, 
    gp = gpar(fill = c("red", "green", "blue")) 
)