I'm looking to make a triple Venn Diagram where I can just input lists of text and it automatically spits out a triple venn diagram.
Here's a venn diagram I made manually:
So for this I would like to input these lists:
migraine → ergots, antiemetics, NSAIDs, acetaminophen, triptans
tension → NSAIDs, acetaminophen
cluster → 100% O2, triptans
and have it spit out a venn diagram like I made
How would I begin doing this? I tried the venn diagram package but it seems far too complicated. I edited someone's example code and my diagram just fell apart. My test looked like this:
from this code:
library(VennDiagram)
SET1 <- c('triptan') #fibrocystic change
SET2 <- c('triptan') #fibroadenoma
SET3 <- c('NSAID')
v <- venn.diagram(list(SET1 = SET1, SET2 = SET2, SET3 = SET3),
fill = c("red", "green","blue"),
alpha = c(0.5, 0.5, 0.5), cat.cex = 1.5, cex=1.5,
filename=NULL)
grid.newpage()
grid.draw(v)
v[[7]]$label <- paste(setdiff(SET1, intersect(SET2,SET3)), collapse="\n")
v[[8]]$label <- paste(setdiff(intersect(SET1,SET2),intersect(SET1, intersect(SET2,SET3))), collapse="\n")
v[[9]]$label <- paste(setdiff(SET2, intersect(SET1,SET3)), collapse="\n")
v[[10]]$label <- paste(setdiff(intersect(SET3,SET1),intersect(SET3, intersect(SET1,SET2))), collapse="\n")
v[[11]]$label <- paste(intersect(SET1, intersect(SET2,SET3)), collapse="\n")
v[[12]]$label <- paste(setdiff(intersect(SET2,SET3),intersect(SET2, intersect(SET1,SET3))), collapse="\n")
v[[13]]$label <- paste(setdiff(SET3, intersect(SET1,SET2)), collapse="\n")
grid.newpage()
grid.draw(v)
original code: https://stackoverflow.com/a/54365746/4187485