patchwork (version 0.0.1)

plot_layout: Define the grid to compose plots in

Description

In order to control how different plots are layed out, you need to add a layout specification. If you are nesting grids, the layout is scoped to the current nesting level.

Usage

plot_layout(ncol = NULL, nrow = NULL, byrow = NULL, widths = NULL,
  heights = NULL, guides = NULL, tag_level = NULL)

Arguments

ncol, nrow

The dimensions of the grid to create - if both are NULL it will use the same logic as facet_wrap() to set the dimensions

byrow

Analogous to byrow in matrix(). If FALSE the plots will be filled in in column-major order

widths, heights

The relative widths and heights of each column and row in the grid. Will get repeated to match the dimensions of the grid.

guides

A string specifying how guides should be treated in the layout

tag_level

A string ('keep' or 'new') to indicate whether auto-tagging should behave. See plot_annotation().

Value

A plot_layout object to be added to a ggassmble object

Examples

Run this code
# NOT RUN {
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))
p5 <- ggplot(mtcars) + geom_violin(aes(cyl, mpg, group = cyl))

# The plots are layed out automatically by default
p1 + p2 + p3 + p4 + p5

# Use byrow to change how the grid is filled out
p1 + p2 + p3 + p4 + p5 + plot_layout(byrow = FALSE)

# Change the grid dimensions
p1 + p2 + p3 + p4 + p5 + plot_layout(ncol = 2, widths = c(1, 2))

# Define layout at different nesting levels
p1 +
  p2 +
  (p3 +
     p4 +
     plot_layout(ncol = 1)
  ) +
  p5 +
  plot_layout(widths = c(2, 1))
# }

Run the code above in your browser using DataCamp Workspace