grid.pattern_rose() draws a rose curve pattern onto the graphic device.
grid.pattern_rose(
x = c(0, 0, 1, 1),
y = c(1, 0, 0, 1),
id = 1L,
...,
colour = gp$col %||% "grey20",
fill = gp$fill %||% "grey80",
angle = 30,
density = 0.2,
spacing = 0.05,
xoffset = 0,
yoffset = 0,
units = "snpc",
frequency = 0.1,
grid = "square",
type = NULL,
subtype = NULL,
rot = 0,
alpha = gp$alpha %||% NA_real_,
linetype = gp$lty %||% 1,
linewidth = size %||% gp$lwd %||% 1,
size = NULL,
use_R4.1_masks = getOption("ggpattern_use_R4.1_masks",
getOption("ggpattern_use_R4.1_features")),
png_device = NULL,
res = getOption("ggpattern_res", 72),
default.units = "npc",
name = NULL,
gp = gpar(),
draw = TRUE,
vp = NULL
)A numeric vector or unit object specifying x-locations of the pattern boundary.
A numeric vector or unit object specifying y-locations of the pattern boundary.
A numeric vector used to separate locations in x, y into multiple boundaries.
All locations within the same id belong to the same boundary.
Currently ignored.
Stroke colour(s).
Fill colour(s) or grid::pattern() / gradient object(s).
Rotation angle in degrees.
Approx. fraction of area the pattern fills.
Spacing between repetitions of pattern (in units units).
Shift pattern along x axis (in units units).
Shift pattern along y axis (in units units).
grid::unit() units for spacing, xoffset, and yoffset parameters.
The “angular frequency” parameter of the rose pattern.
Adjusts placement and density of certain graphical elements.
"square" (default) is a square grid.
"hex" is a hexagonal grid suitable for hexagonal and triangular tiling.
"hex_circle" is a hexagonal grid suitable for circle packing.
"elongated_triangle" is a grid used for the "elongated triangle" tiling.
Adjusts the repeating of certain aesthetics such as color.
Can use any type in names_hex, names_square, or names_weave.
See for pattern_hex(), pattern_square(), and pattern_weave() for
more information about supported type arguments.
See for pattern_hex(), pattern_square(), and pattern_weave() for
more information about supported subtype arguments.
Angle to rotate rose (degrees, counter-clockwise).
Alpha (between 0 and 1) or NA (default, preserves colors' alpha value).
Stroke linetype.
Stroke linewidth.
For backwards compatibility can be used to set linewidth.
If TRUE use the grid mask feature introduced in R v4.1.0.
If FALSE do a rasterGrob approximation.
If NULL try to guess an appropriate choice.
Note not all graphic devices support the grid mask feature.
“png” graphics device to save intermediate raster data with if use_R4.1_masks is FALSE.
If NULL and suggested package ragg is available
and versions are high enough we directly capture masked raster via ragg::agg_capture().
Otherwise we will use png_device
(default ragg::agg_png() if available else grDevices::png()) and png::readPNG()
to manually compute a masked raster.
Resolution of desired rasterGrob in pixels per inch if use_R4.1_masks is FALSE.
A string indicating the default units to use if x or y
are only given as numeric vectors.
A character identifier.
An object of class "gpar", typically the output
from a call to the function gpar. This is basically
a list of graphical parameter settings.
A logical value indicating whether graphics output should be produced.
A Grid viewport object (or NULL).
A grid grob object invisibly. If draw is TRUE then also draws to the graphic device as a side effect.
See https://en.wikipedia.org/wiki/Rose_(mathematics) for more information.
if (capabilities("png") || guess_has_R4.1_features("masks")) {
x_hex <- 0.5 + 0.5 * cos(seq(2 * pi / 4, by = 2 * pi / 6, length.out = 6))
y_hex <- 0.5 + 0.5 * sin(seq(2 * pi / 4, by = 2 * pi / 6, length.out = 6))
gp <- grid::gpar(fill = c("blue", "red", "yellow", "green"), col = "black")
grid.pattern_rose(x_hex, y_hex,
spacing = 0.15, density = 0.5, angle = 0,
frequency = 1:4, gp = gp)
}
if (capabilities("png") || guess_has_R4.1_features("masks")) {
grid::grid.newpage()
grid.pattern_rose(x_hex, y_hex,
spacing = 0.15, density = 0.5, angle = 0,
frequency = 1/1:4, gp = gp)
}
if (capabilities("png") || guess_has_R4.1_features("masks")) {
grid::grid.newpage()
grid.pattern_rose(x_hex, y_hex,
spacing = 0.18, density = 0.5, angle = 0,
frequency = c(3/2, 7/3, 5/4, 3/7), gp = gp)
}