17

I know that gridExtra has been updated. As a result, I'm left wondering how to change title sizes. This no longer works

   grid.arrange(a, b, c, d,ncol=2, 
      nrow=2, main=textGrob("Title", gp=gpar(fontsize=15,font=8)))

That no longer works, the option for main has been changed to top but I can't figure out the textGrob features to alter the font size). Any clues? Thanks

Cyrus Mohammadian
  • 4,982
  • 6
  • 33
  • 62

2 Answers2

37

First, import the package grid with either library() or require(). Second, change main to top in your code.

See below:

library(grid)

 grid.arrange(a, b, c, d,ncol=2, 
     nrow=2, top=textGrob("Title", gp=gpar(fontsize=15,font=8)))

I ran into a similar issue with gridExtra v2.0.0, receiving the following error:

Error in arrangeGrob(...) : could not find function "textGrob"

indicating that grid wasn't loaded as a dependency for gridExtra. I resolved it by requiring or importing the library grid by either:require(grid) or library(grid).

Hope that helps.

Cyrus Mohammadian
  • 4,982
  • 6
  • 33
  • 62
rolyat
  • 575
  • 6
  • 9
8

Short answer: the title is now set with top = textGrob("Title")

Short explanation: the original argument names were all over the place ("main", "sub", "legend"(!), "left"), so this update brought more consistency (top/bottom/right/left).

baptiste
  • 75,767
  • 19
  • 198
  • 294