Adding title and sub title to Venn Diagram

user3209543 picture user3209543 · Jan 18, 2014 · Viewed 10k times · Source

I am trying to add a main and sub title to my venn diagram that I created using the following code in R. I have read through the R ‘VennDiagram’ package documentation without success. I've also tried using gird.arrange() with a textGrob and the graph from the resulting code, but received an error stating that all inputs must be grobs.

require(VennDiagram)

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
)

Answer

baptiste picture baptiste · Jan 18, 2014

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

theplot