grid.pattern_circle()
draws a circle pattern onto the graphic device.
grid.pattern_circle( 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, alpha = gp$alpha %% NA_real_, linetype = gp$lty %% 1, size = gp$lwd %% 1, grid = "square", type = NULL, subtype = NULL, default.units = "npc", name = NULL, gp = gpar(), draw = TRUE, vp = NULL )
x  A numeric vector or unit object specifying xlocations of the pattern boundary. 

y  A numeric vector or unit object specifying ylocations of the pattern boundary. 
id  A numeric vector used to separate locations in x, y into multiple boundaries.
All locations within the same 
...  Currently ignored 
colour  Stroke colour 
fill  Fill colour 
angle  Rotation angle in degrees 
density  Approx. fraction of area the pattern fills. 
spacing  Spacing between repetitions of pattern ('snpc' units between 0 and 1). 
xoffset  Shift pattern along x axis ('snpc' units between 0 and 1). 
yoffset  Shift pattern along y axis ('snpc' units between 0 and 1). 
alpha  Alpha (between 0 and 1) or 
linetype  Stroke linetype 
size  Stroke linewidth 
grid  Adjusts placement and density of certain graphical elements.

type  Adjusts the repeating of certain aesthetics such as color.
Can use any type in 
subtype  See for 
default.units  A string indicating the default units to use if 
name  A character identifier. 
gp  An object of class 
draw  A logical value indicating whether graphics output should be produced. 
vp  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 grid.pattern_regular_polygon()
for a more general case of this pattern and
ggpattern
documentation: https://coolbutuseless.github.io/package/ggpattern/articles/patterncircle.html
if (require("grid")) { 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)) grid.pattern_circle(x_hex, y_hex, fill = c("blue", "yellow"), density = 0.5) grid.newpage() grid.pattern_circle(x_hex, y_hex, density = 0.8, grid = "hex_circle", gp = gpar(fill = c("blue", "yellow", "red"))) grid.newpage() grid.pattern_circle(x_hex, y_hex, density = 1.2, grid = "hex_circle", gp = gpar(fill = c("blue", "yellow", "red"))) # using a "twill_zigzag" 'weave' pattern grid.newpage() grid.pattern_circle(x_hex, y_hex, fill = "blue", density = 0.5, type = "twill_zigzag") }