Skip to contents

patchwork (development version)

patchwork 1.3.0

CRAN release: 2024-09-16

  • free() now better aligns plots in horizontal direction
  • Plot backgrounds are now always placed beneath all other elements in the patchwork (#370)
  • Axis titles can now reliably be collected even with faceted plots (#367)
  • Native support for gt objects, either adding them directly or controlling their layout with wrap_table()
  • Empty patches no longer breaks up axis title collection (#375)
  • wrap_ggplot_grob() now respects auto-tagging (#363)
  • Fix a bug where guide collecting would prevent proper axes collecting (#359)
  • Fix a bug in free() where tags placed on top of the plot region would become missing (#350)
  • free() gains type and side argument. The first to control whether to free the panel, the label, or the space occupied outside the panel, the second to control which sides it applies to (#345 and #379)
  • as.list() is now provided for patchwork objects to get the plots in a patchwork as a list. This also allows the use of lapply() and friends on patchwork objects (#381)
  • The default arguments in plot_annotation() and plot_layout() are now waiver() allowing the use of NULL to remove an already set value (#198)
  • Guide and axis merging is slightly more robust when it comes to merging if different graphical parameters that means the same are used (e.g. “black” and “#000000”) (#369)
  • fix a bug when collecting guides with null unit key size (#390)
  • Added nest() to explicitly nest a patchwork on the LHS of an operator

patchwork 1.2.0

CRAN release: 2024-01-08

  • Axes and axis titles can now be collected using the plot_layout() function. Collecting axes will remove duplicated axes in the x- or y-direction. Collecting axis titles will also remove duplicated titles in the x- or y-direction, but also merge duplicated titles in the other direction (#150).
  • Fix a bug that prevented faceted plots with axes on the right from being used (#340)
  • Added free() function to mark a plot to not be aligned with the rest. The margin of the plot will still be aligned with the margins of the other plots but everything inside of that will by unaligned.

patchwork 1.1.3

CRAN release: 2023-08-14

  • NULL can now be used with the different arithmetic operators and will result in a non-operation (i.e. the non-null part will be returned unmodified) (#290)
  • Fix a bug that prevented plots with multi-level strips from being merged together (#277)
  • Patchworks will now render correctly when unserialised in a fresh session, providing the patchwork package is available (#242)
  • Fixed a bug preventing faceted plots with strip placement outside the axis from being aligned (#325)
  • Fixed a bug that let to inconsistent results when combining fixed aspect plots in different order (#274)
  • Fixed a bug that prevented nested patchworks with empty columns or rows at the bottom or to the right to be inserted into a layout (#273)
  • Patchwork objects now behaves more correctly like an unnamed list of ggplots. This makes View() work on them (#317), and allow one to use length() to determine the number of patches in a patchwork (#293)
  • Expressions and calls can now be used as plot annotations in the same way as they can be used for titles in ggplot2 (#295)

patchwork 1.1.2

CRAN release: 2022-08-19

  • Better error message if rendering fails due to too small plotting space

patchwork 1.1.1

CRAN release: 2020-12-17

  • Use vdiffr conditionally to pass test on M1 mac
  • Add str() method to patchwork objects (#217)
  • Fix a bug in inset_element() when insetting plots with fixed dimensions (#214)
  • Make sure that -, /, and | works with all supported object types (#221)

patchwork 1.1.0

CRAN release: 2020-11-09

  • Add inset_element() to allow adding plots as insets
  • patchwork now supports raster and nativeRaster objects
  • Avoid incrementing tag counter when recursing into a nested plot without additional tags to use (#147)
  • Fix bug that prevented strips turned off with element_blank() from working (#200)
  • Add option to supply a custom sequence of tags to use for auto-tagging (#211, #63)

patchwork 1.0.1

CRAN release: 2020-06-22

  • Renaming of align_plots() to align_patches() to avoid namespace clash with cowplot (#130)
  • Renaming of as_grob() (unexported) to as_patch() to avoid potential future namespace clash with cowplot (#131)
  • Fix bug in plot simplification with theme(strip.placement = 'outside') (#132)
  • Fix a bug in guide collection in R >= 4.0 due to the new unit implementation in grid (#170)
  • Collected guides now behave as ggplot2 guides when position is top or bottom (#137)
  • Fix a bug in base graphic support where the environment of the plot was not captured (#138)
  • Fix a bug when combining plots having guides placed manually in combination with faceting (#144)
  • Fix a bug where having negative margins around the legend would result in an unintelligeble error (#148)
  • Fix a bug when trying to combine faceted plots with fixed aspect ratio (#156)
  • Fix alignments of strips when only a single strip is present (#163)
  • Fix a bug that caused theme void to result in errors (#180)
  • Make aligning multiple fixed aspect plots more consistent (#175)
  • Correct alignment of guides when ssembling fixed aspect plots (#140,

patchwork 1.0.0

CRAN release: 2019-12-01

  • First CRAN release. Provide utility and operators for assembling and nesting plots into a composition, tag subplots, collect guides and remove duplicates, and align plots across pages.