sop_se
sop_se

Reputation: 23

coordinates for circles of euler diagram in R

I am trying to make something like this:

result_wanted

My code is still in this stage:

result_my_code

Unfortunately I can't set the coordinates of circles' centres with the VennDiagram package. Does anyone know a trick for achieving that? Or another package that gets closer to the graphic I'm looking for?

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") ) 

Upvotes: 2

Views: 351

Answers (1)

Richie Cotton
Richie Cotton

Reputation: 121127

For your specific case (nested subsets), you could just manually draw three circles using grid. Assuming set A contains set B contains set 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"))
)

Upvotes: 2

Related Questions