The ggplot2
add-on package, cowplot
, has a nice function for plotting multiple plots called plot_grid()
. Here\'s plot_grid()
Just call theme_set(theme_gray())
beforehand:
theme_set(theme_gray())
plot_grid(plot_a, plot_b, labels = c("A", "B"))
Then, if you want to go crazy with themes, you could install ggthemes and simply replace theme_gray()
with any theme you choose, or roll your own. Also see this vignette for styling individual elements.
As mentioned in the comments, once you've installed the cowplot
package you can load the plot_grid()
function with the ::
operator (see What are the double colons (::) in R?) and cowplot won't change any ggplot2
defaults.
> plot_a <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
> plot_b <- ggplot(mtcars, aes(mpg, disp)) + geom_point()
> plot_grid(plot_a, plot_b, labels = c("A", "B"))
Error in plot_grid(plot_a, plot_b, labels = c("A", "B")) :
could not find function "plot_grid"
> cowplot::plot_grid(plot_a, plot_b, labels = c("A", "B"))
The issue comes when you load the entire cowplot
package with library()
or require()
.