multipanelfigure v2.1.2

0

Monthly downloads

0th

Percentile

Infrastructure to Assemble Multi-Panel Figures (from Grobs)

Tools to create a layout for figures made of multiple panels, and to fill the panels with base, 'lattice', 'ggplot2' and 'ComplexHeatmap' plots, grobs, as well as content from all image formats supported by 'ImageMagick' (accessed through 'magick').

Readme

Project Status: Active - The project has reached a stable, usable state and is being actively developed. Is the package on CRAN? Build Status Build status

multipanelfigure

Tools to create a layout for figures made of multiple panels, and to fill the panels with base, lattice and ggplot2 plots, grobs, and bitmap images as supported by ImageMagick (through the package magick).

Installation

To install the package, you first need the devtools package.

install.packages("devtools")

Then you can install the multipanelfigure package using

devtools::install_bitbucket("graumannlabtools/multipanelfigure")

Specifying a layout

Layouts are matrices of panels that contains plots, grobs or images. Create them with the multi_panel_figure function.

You can specify the total width and height of the figure (the default unit is millimetres):

library(multipanelfigure)
figure1 <- multi_panel_figure(
  width = 180, height = 180,
  columns = 3, rows = 3)

Or you can specify widths and heights of individual columns and rows.

figure2 <- multi_panel_figure(
  width = c(20, 30, 40),
  height = c(10, 20, 30))

When no panels are filled, printing the figure (by typing its name) displays the layout. Notice that by default a 5 mm spacer is included between rows and between columns. (This can be adjusted using multi_panel_figure's row_spacing and column_spacing arguments.)

figure1

An image of the layout of an empty multi-panel figure.

Adding panels

Plots and images are added into the figure by filling panels using fill_panel.

lattice plot variables are added directly. The syntax is cleanest using magrittr pipes:

library(lattice)
library(magrittr)
a_lattice_plot <- xyplot(height ~ age, Loblolly)
figure1 %<>% fill_panel(a_lattice_plot)

ggplot2 plots variables are also added directly. In this case, to put it in the second column from the left (top row), specify the left_panel argument.

library(ggplot2)
library(magrittr)
a_ggplot <- ggplot(Loblolly, aes(age, height)) + geom_point()
figure1 %<>% fill_panel(a_ggplot, column = 2)

Plots created using base graphics must be converted to grid-based plots and captured using capture_base_plot.

a_base_plot <- capture_base_plot(
  with(Loblolly, plot(age, height))
)
figure1 %<>% fill_panel(a_base_plot, column = 3)

grid grobs are also added directly. Plots and images can be made to span multiple panels by defining starting and stopping columns using column and/or starting and stopping rows using row. The following example adds the grob to the second and third rows from the top (first column).

library(grid)
a_grob <- linesGrob(arrow = arrow())
figure1 %<>% fill_panel(a_grob, row = 2:3)

Bitmap images (such as JPEG, PNG, and TIFF images) are added via a string giving their location: either a path to a location on disk, or a URL.

figure1 %<>% fill_panel(
  "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Persian_Cat_%28kitten%29.jpg/657px-Persian_Cat_%28kitten%29.jpg",
  column = 2:3,
  row = 2:3)

Once panels have been added to the figure, printing it displays the figure.

figure1

An image of the filled multi-panel figure, containing several plots and images.

Functions in multipanelfigure

Name Description
multipanelfigure-deprecated Superceded objects in multipanelfigure
images Images
assert_is_multipanelfigure Check that the input is a multipanelfigure
billing2016_suppfig4e Mass spectrometry intensities by stem cell type and organelle
billing2016_suppfig4g Mass spectrometry intensities by stem cell type
print.multipanelfigure Print a multi-panel figure
fill_panel fill_panel
multi_panel_figure multi_panel_figure
save_multi_panel_figure save_multi_panel_figure
%<>% magrittr compound assignment pipe operator
grob_dimensions Convenient Access to grob Dimensions
%>% magrittr forward-pipe operator
capture_base_plot Capture a base plot
No Results!

Vignettes of multipanelfigure

Name
panel-positioning.Rmd
scaling-clipping-images.Rmd
No Results!

Last month downloads

Details

Include our badge in your README

[![Rdoc](http://www.rdocumentation.org/badges/version/multipanelfigure)](http://www.rdocumentation.org/packages/multipanelfigure)