This is a small release fixing a NOTE by request. In addition, there are two bugfixes.
strip_vanilla(size)
argument (#143)facet_wrap2()
(#140)This is a small release for future compatibility with ggplot2, along with some bugfixes.
force_panelsizes()
can now take ‘bigpts’ units as total_width
or total_height
arguments (#118)facet_nested()
when margins = TRUE
(#121)Hot fix for release of ggplot2 3.4.3. There are no user-visible changes.
This is a small release for future compatibility with ggplot2, along with some minor improvements. Moreover, the life cycle of guides has been set to ‘questioning’ because they might be migrated to a new package using an upcoming overhaul of the guide system. The guides won’t be deprecated until alternatives are available.
facet_grid2()
, and by extension facet_nested()
too, gains a render_empty
argument that can leave panels without data blank (#69).solo_line
argument to nested facets (#90).force_panelsizes()
gains a total_width
and total_height
argument to set the size of the total panel area.nest_line
in nested facets: it is now a line element that inherits from blank elements, and the theme default is a blank element. This makes it more responsive to the theme setting (#89).stat_difference()
is now more performant, particularly for larger data.stat_difference()
no longer outputs a 0-level.stat_rle()
now considers NA
s as equivalent values, unlike base::rle()
.facet_manual()
(#106).scale_{x/y}_facet()
now uses quosures instead of expressions (#101).This is a small release for compatibility with ggplot2 3.4.2, along with some minor improvements and bug fixes.
scale_{x/y}_manual()
is a semi-discrete scale that accepts categorical input and maps this a continuous output (#94).facet_manual()
can now not only omit axes when panels occupy 1 cell in the axes’ direction, but also when all panels in the same rows/columns occupy the same range of cells, when scales are not free.facet_manual()
now tries to omit white space introduced by axis placement when scales are not free (#86)inv
option to invert the label order from outer to inner in guide_axis_nested()
.guide_axis_nested()
(#97).annotate(geom = "pointpath")
(#83).geom_box()
where radius
is now properly handed off to the grob.This is a small release updating some of the internals to better use the public interface to ggplot2 and play well with the latest release of ggplot2 (3.4.0).
scale_{x/y}_facet()
to provide a more convenient syntax for facetted_pos_scales()
(#76).geom_box()
, as a more flexible variant of geom_rect()
/geom_tile()
that can take any two of x/y, width/height, xmin/ymin or xmax/ymax, and supports rounded corners.This is a small release updating the documentation to be compatible with HTML5, compatibility for upcoming ggplot2 3.4.0, along with four small features.
strip_split()
strip style for facets. This function might still give unexpected results. Feel free to leave feedback!guide_axis_scalebar()
for drawing scale bars (#63).geom_outline_points()
to draw overlapping points with outlines.coord_axes_inside()
function that moves axes from outside the panel to inside the panel.?theme_extensions
to collect information about extra theme elements in a single place.ggsubset()
. Use data = ~ subset(.x, ...)
instead.geom_*()
and stat_*()
functions now allow dynamic dots.linesize
aesthetic in geom_pointpath()
has been renamed to linewidth
.This is a patch release fixing a few bugs and a broken unit test.
facet_grid2()
and family (#56).Facets have largely been refactored. Accordingly, the vignette has been updated to reflect the latest changes.
The previously existing facet_wrap2()
now has the trim_blank
option to force nrow
and ncol
argument if these exceed the number of rows or columns needed to place all the panels. Thanks to @coolbutuseless for letting me steal the idea from the {facetious} package. The facet_wrap2()
function was already used to offer more options over axis drawing.
In addition, the cousin facet_grid2()
makes an entrance. It offers the same axis drawing extensions as facet_wrap2()
, but for the grid layout. Moreover, it allows for independent scales across rows and columns, which is a constraint in ggplot2::facet_grid()
.
Besides facet_nested_wrap()
inheriting from facet_wrap2()
, which was already the case, now facet_nested()
also inherits from facet_grid2()
to make use of the extended axis drawing options. Also, the nest_line
argument now takes a element_line()
or element_blank()
to draw the indicator instead of the logical(1)
argument it took previously. The bleed
argument has been moved from the nested facet to the new strip_nested()
function (see below).
New in the family of facets is now facet_manual()
: a facet that can take a user specified design for a layout and populate the panels accordingly.
The facet functions in ggh4x now have strip
arguments, which can be used with new strip_*()
functions that control how the strips are drawn. For now, they come in the following three variants:
strip_vanilla()
which draws normal strips, but allows you to control whether labels should be clipped and has the size
argument that can let strips on different layers have different sizes. This can be convenient when the strip labels have very different sizes.strip_themed()
does all of the above, but also let’s you assign element_text()
and element_rect()
to different strips, allowing you to have greater control of their styling. These elements can be assigned independently for the horizontal and vertical strips and can be applied to single strips or layers of strips.strip_nested()
again does all of the above, but also merges the strips with the same labels if they are next to one another. This means that the core functionality of facet_nested()
and facet_nested()
wrap has been moved and is now powered by the strip
argument. They can still be convenient to draw nesting indicators.strip.text = element_blank
. Requires ggplot2 >3.3.0, or the dev version at time of writing. (#35)guide_axis_manual()
.facetted_pos_scales
through formulas (#25).NEWS.md
file to track changes to the package.