cowplot v0.9.2


Monthly downloads



Streamlined Plot Theme and Plot Annotations for 'ggplot2'

Some helpful extensions and modifications to the 'ggplot2' package. In particular, this package makes it easy to combine multiple 'ggplot2' plots into one and label them with letters, e.g. A, B, C, etc., as is often required for scientific publications. The package also provides a streamlined and clean theme that is used in the Wilke lab, hence the package name, which stands for Claus O. Wilke's plot package.


cowplot – An add-on to the ggplot2 plotting package

Build Status Coverage Status CRAN\_Status\_Badge CRAN\_Downloads\_Badge

The cowplot package is meant to provide a publication-ready theme for ggplot2, one that requires a minimum amount of fiddling with sizes of axis labels, plot backgrounds, etc. It meets my personal needs; you may or may not like my style.

The package also fixes a couple of other annoyances that I encountered when trying to use ggplot2 for publication-ready figures, in particular with respect to combining multiple plots into one figure and labeling these plots. It turns out that the easiest way to fix these issues was to implement a general-purpose drawing canvas on top of ggplot2, so as a side effect of this work you can do pretty crazy effects with ggplot2 graphs.


This package is available on CRAN here and can be installed via


You can install the latest development version of this package using the devtools package. In your R console, simply enter:


Note that cowplot is in the early stages of development. While you may find it useful for certain graphing problems you encounter, it may have major problems or undergo substantial changes in the future. In particular, at this point I make no guarantees that the default theme will remain unchanged.


To get a quick introduction to the main features of this package, read the vignettes provided with the package on CRAN.

Functions in cowplot

Name Description
background_grid Add/modify/remove the background grid in a ggplot2 plot
cowplot cowplot.
draw_plot_label Add a label to a plot
draw_image Draw an image
draw_label Draw a text label or mathematical expression.
draw_text Draw multiple text-strings in one go.
draw_figure_label Add a label to a figure
get_legend Retrieve the legend of a plot
draw_grob Draw a grob.
add_sub Add annotation underneath a plot
get_panel Retrieve the panel of a plot
align_margin Align multiple plots along a specified margin
draw_plot Draw a (sub)plot.
align_plots Align multiple plots vertically and/or horizontally
axis_canvas Generates a canvas onto which one can draw axis-like objects.
ggdraw Set up a drawing layer on top of a ggplot
gtable_squash_rows Set the height of given rows to 0.
ggsave Cowplot reimplementation of ggsave.
panel_border Add/remove the panel border in a ggplot2 plot
gtable_remove_grobs Remove named elements from gtable
plot_to_gtable Convert plot or other graphics object into a gtable
theme_nothing Create a completely empty theme
gtable_squash_cols Set the width of given colums to 0.
theme_cowplot Create the default cowplot theme
plot_grid Arrange multiple plots into a grid
theme_map Create a theme for map plotting
draw_line Draw a line from connected points
save_plot Alternative to ggsave, with better support for multi-figure plots.
insert_xaxis_grob Insert an axis-like grob on either side of a plot panel in a ggplot2 plot.
No Results!

Vignettes of cowplot

No Results!

Last month downloads


License GPL-2
LazyData true
VignetteBuilder knitr
Collate 'add_sub.R' 'axis_canvas.R' 'cowplot.R' 'draw.R' 'get_legend.R' 'get_panel.R' 'gtable.R' 'plot_grid.R' 'plot_to_gtable.R' 'save.R' 'setup.R' 'switch_axis.R' 'themes.R' 'utils_ggplot2.R'
RoxygenNote 6.0.1
NeedsCompilation no
Packaged 2017-12-17 17:46:18 UTC; wilke
Repository CRAN
Date/Publication 2017-12-17 18:15:32 UTC

Include our badge in your README