NEWS.md
pattern_type = "tile" (#37). Transparent parts of tiled images are now consistently transparent. We now support the pattern_gravity aesthetic when pattern_type = "tile".To turn off “clipping” certain built-in patterns with the new R 4.1 graphic features and instead use a raster image approximation one should now use options(ggpattern_use_R4.1_masks = FALSE) instead of options(ggpattern_use_R4.1_clipping = FALSE). Alternatively, using options(ggpattern_use_R4.1_features = FALSE) to turn off all R 4.1 features will continue to work.
{ggpattern} removes the following data/functions which were deprecated in a previous version of {ggpattern}:
Defunct functions are no longer exported.
geom_histogram_pattern() (#71)geom_sf_pattern() and geom_polygon_pattern() now support polygons with holes by using “alpha masking” instead of a “clipping path”. If R 4.1 alpha mask feature is not supported by the active graphics device (or the masking feature is declined) we use a raster image approximation of the pattern. Resolution of the raster approximation can be adjusted by the pattern_res aesthetic whose default in turn can be adjusted by the "ggpattern_res" global option.
This change fixes patterns filling holed polygons in certain graphic devices (#68). This change fixes patterns sometimes escaping plot window (#60).
draw_key_polygon_pattern(), GeomMapPattern, GeomPolygonPattern, and GeomSfPattern now draws a “border” grob on top of the “pattern” grob (#72).
Continuous “pattern_colour”, “pattern_fill”, and “pattern_fill2” color scales’ default “colourbar” guide support should now work.
scale_pattern_size_continuous() now uses “pattern_size” aesthetic instead of “size” aesthetic in underlying ggplot2::continuous_scale() call.
We now export scale_pattern_alpha() which is an alias of scale_pattern_alpha_continuous().
{ggpattern} removes the following data/functions which were deprecated in a previous version of {ggpattern}:
calculate_bbox_polygon_df()convert_img_to_array()convert_polygon_df_to_alpha_channel()create_gradient_img()fetch_placeholder_img()fill_area_with_img()magick_filter_names, instead use magick::filter_types()
magick_gravity_names, instead use magick::gravity_types()
magick_pattern_intensity_names, instead use gridpattern::names_magick_intensity
magick_pattern_names, instead use gridpattern::names_magick
magick_pattern_stripe_names, instead use gridpattern::names_magick_stripe
placeholder_names, instead use gridpattern::names_placeholder
rotate_polygon_df(){ggpattern} now deprecates the following data/functions, they may be removed in a future version of {ggpattern}:
{ggpattern} now supports the following aesthetics (#45):
pattern_grid: Supported by most “geometry” patterns. Default is “square” while “hex” and “hex_circle” allow hexagonal layouts.pattern_res: Supported by “array” patterns. Allow user to explicitly set resolution of image-based patterns.pattern_rot: Used by “pch”, “regular_polygon”, “rose”, and “text” patterns to rotate symbol within pattern. ‘rot’ is parameter used in grid:textGrob() to indicate rotation and pattern_angle already used to rotate entire pattern.geom_polygon_pattern() and geom_sf_pattern() now support polygons with holes (#26, #44). If R 4.1 clipping features are not supported by the graphic device (or the clipping feature is declined) we must use a raster image approximation of the pattern. Resolution of the raster approximation can be adjusted by the pattern_res aesthetic whose default in turn can be adjusted by the "ggpattern_res" global option.{ggpattern} now uses {gridpattern} to generate pattern grobs. This means there are minor tweaks to visual behavior:
The following functions copied from {ggplot2} are no longer exported by {ggpattern}:
alpha(), instead use ggplot2::alpha() or scales::alpha()
flip_data(), instead use ggplot2::flip_data()
flipped_names(), instead use ggplot2::flipped_names()
gg_dep(), instead use ggplot2::gg_dep()
has_flipped_aes(), instead use ggplot2::has_flipped_aes()
remove_missing(), instead use ggplot2::remove_missing()
should_stop(), instead use ggplot2::should_stop()
waiver(), instead use ggplot2::waiver()
{ggpattern} now deprecates the following data/functions, they may be removed in a future version of {ggpattern}:
calculate_bbox_polygon_df()convert_img_to_array()convert_polygon_df_to_alpha_channel()create_gradient_img()fetch_placeholder_img()fill_area_with_img()magick_filter_names, instead use magick::filter_types()
magick_gravity_names, instead use magick::gravity_types()
magick_pattern_intensity_names, instead use gridpattern::names_magick_intensity
magick_pattern_names, instead use gridpattern::names_magick
magick_pattern_stripe_names, instead use gridpattern::names_magick_stripe
placeholder_names, instead use gridpattern::names_placeholder
rotate_polygon_df(){ggpattern} now supports all patterns provided by {gridpattern}. In particular {gridpattern} provides the following “new” patterns:
‘pattern_fill2’ can now be used to set the fill for the vertical lines in the ‘crosshatch’ pattern.
By default, if unset, it uses ‘pattern_fill’ (#35).
‘circle’ pattern can now be adjusted by ‘pattern_type’ and ‘pattern_subtype’. See help("grid.pattern_circle", package = "gridpattern") for more info.
‘gradient’ pattern can now use grid gradient feature introduced in R v4.1.0 if options(ggpattern_use_R4.1_gradients = TRUE).
The following package options can now be set by options():
ggpattern_use_R4.1_clipping If TRUE use the grid clipping path feature introduced in R v4.1.0 else do a rasterGrob approximation of the clipped pattern.ggpattern_use_R4.1_features If TRUE sets the default for all the other ggpattern_use_R4.1_* options arguments to TRUE.ggpattern_use_R4.1_gradients If TRUE use the grid gradient feature introduced in R v4.1.0 else do a rasterGrob approximation of the gradient pattern.ggpattern_use_R4.1_masks If TRUE use the grid mask feature introduced in R v4.1.0. Available for use in custom patterns.ggpattern_use_R4.1_patterns If TRUE use the grid pattern feature introduced in R v4.1.0. Available for use in custom patterns.geom_sf_pattern() (Issue #5)magick::image_data() instead of magick::as_EBImage() for internal conversion of images to arrays in convert_img_to_array()