Description Usage Arguments Details Value Examples
In addition to the +
operator known in ggplot2
, patchwork
defines logic
for some of the other operators that aids in building up your plot
composition and reduce code-reuse.
1 2 3 4 5 6 7 8 | ## S3 method for class 'ggplot'
e1 / e2
## S3 method for class 'gg'
e1 * e2
## S3 method for class 'gg'
e1 ^ e2
|
e1 |
A |
e2 |
A |
patchwork
augment the +
operator from ggplot2
and allows the user to
add full ggplot
objects together in order to compose them into the same
view. The last added plot is always the active one where new geoms etc. are
added to. Another operator that is much like it, but no quite, is /
. It
also adds plots together but instead of adding the right hand side to the
assemble defined in the left hand side, it puts the left hand side besides
the right hand side in a new assemble. This might sound confusing, but in
essence /
ensures that the right and left side are put in the same nesting
level (+
puts the right side into the left side).
In order to reduce code repetition patchwork
provides two operators for
adding ggplot elements (geoms, themes, facets, etc.) to multiple/all plots in
an assemble. *
will add the element to all plots in the current nesting
level, while ^
will recurse into nested cells.
A ggassemble
object
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | library(ggplot2)
p1 <- ggplot(mtcars) + geom_point(aes(mpg, disp))
p2 <- ggplot(mtcars) + geom_boxplot(aes(gear, disp, group = gear))
p3 <- ggplot(mtcars) + geom_smooth(aes(disp, qsec))
p4 <- ggplot(mtcars) + geom_bar(aes(carb))
# Standard addition vs division
(p1 + p2) + p3 + plot_layout(ncol = 1) # same as p1 + p2 + p3...
(p1 + p2) / p3 + plot_layout(ncol = 1)
# Add elements to the same nesting level
(p1 + (p2 + p3) + p4 + plot_layout(ncol = 1)) * theme_bw()
# Recurse into nested plots as well
(p1 + (p2 + p3) + p4 + plot_layout(ncol = 1)) ^ theme_bw()
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.