The output of that function is a gList (and a side-effect of plotting, if you don't specify ind=FALSE
). In order to use it with grid.arrange, you'd need to wrap it in a gTree,
g = draw.triple.venn(
area1 = 396,
area2 = 273,
area3 = 147,
n12 = 266,
n23 = 86,
n13 = 143,
n123 = 83,
category = c("Study", "Work", "Play"),
fill = c("blue", "red", "green"),
euler.d=TRUE,
scaled=TRUE, ind = FALSE,
)
require(gridExtra)
grid.arrange(gTree(children=g), top="Title", bottom="subtitle")