Forcing the panel sizes should in theory work regardless of what
facetting choice was made, as long as this function is called after the
facet specification. Even when no facets are specified, ggplot2 defaults to
the ggplot2::facet_null()
specification; a single panel.
force_panelsizes
works by wrapping the original panel drawing
function inside a function that modifies the widths and heights of panel
grobs in the original function's output gtable.
When rows
or cols
are numeric
vectors, panel sizes are
defined as ratios i.e. relative "null" unit
s. rows
and
cols
vectors are repeated or shortened to fit the number of panels
in their direction. When rows
or cols
are NULL
, no
changes are made in that direction.
When respect = NULL
, default behaviour specified elsewhere is
inherited.
No attempt is made to guarantee that the plot fits the output device. The
space
argument in ggplot2::facet_grid()
will be
overruled. When individual panels span multiple rows or columns, this
function may not work as intended.