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()
gainstype
andside
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 oflapply()
and friends on patchwork objects (#381)- The default arguments in
plot_annotation()
andplot_layout()
are nowwaiver()
allowing the use ofNULL
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
- 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.
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 uselength()
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)
- Better error message if rendering fails due to too small plotting space
- 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)
- Add
inset_element()
to allow adding plots as insets - patchwork now supports
raster
andnativeRaster
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)
- Renaming of
align_plots()
toalign_patches()
to avoid namespace clash with cowplot (#130) - Renaming of
as_grob()
(unexported) toas_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, @ilia-kats)
- 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.