grid.pattern()
draws patterned shapes onto the graphic device.
patternGrob()
returns the grid grob objects.
names_pattern
is a character vector of builtin patterns.
grid.pattern( pattern = "stripe", x = c(0, 0, 1, 1), y = c(1, 0, 0, 1), id = 1L, ..., legend = FALSE, prefix = "pattern_", default.units = "npc", name = NULL, gp = gpar(), draw = TRUE, vp = NULL ) names_pattern patternGrob( pattern = "stripe", x = c(0, 0, 1, 1), y = c(1, 0, 0, 1), id = 1L, ..., legend = FALSE, prefix = "pattern_", default.units = "npc", name = NULL, gp = gpar(), draw = TRUE, vp = NULL )
pattern | Name of pattern. See Details section for a list of supported patterns. |
---|---|
x | A numeric vector or unit object specifying x-locations of the pattern boundary. |
y | A numeric vector or unit object specifying y-locations of the pattern boundary. |
id | A numeric vector used to separate locations in x, y into multiple boundaries.
All locations within the same |
... | Pattern parameters. |
legend | Whether this is intended to be drawn in a legend or not. |
prefix | Prefix to prepend to the name of each of the pattern parameters in |
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). |
An object of class character
of length 17.
A grid grob object (invisibly in the case of grid.pattern()
).
If draw
is TRUE
then grid.pattern()
also draws to the graphic device as a side effect.
Here is a list of the various patterns supported:
Noise array patterns onto the graphic device powered by the ambient
package.
See grid.pattern_ambient()
for more information.
Circle geometry patterns.
See grid.pattern_circle()
for more information.
Crosshatch geometry patterns.
See grid.pattern_crosshatch()
for more information.
Gradient array/geometry patterns.
See grid.pattern_gradient()
for more information.
Image array patterns.
See grid.pattern_image()
for more information.
imagemagick
array patterns.
See grid.pattern_magick()
for more information.
Does nothing.
See grid::grid.null()
for more information.
Plotting character geometry patterns.
See grid.pattern_pch()
for more information.
Placeholder image array patterns.
See grid.pattern_placeholder()
for more information.
Plasma array patterns.
See grid.pattern_plasma()
for more information.
Polygon tiling patterns.
See grid.pattern_polygon_tiling()
for more information.
Regular polygon patterns.
See grid.pattern_regular_polygon()
for more information.
Rose array/geometry patterns.
See grid.pattern_rose()
for more information.
Stripe geometry patterns.
See grid.pattern_stripe()
for more information.
Text array/geometry patterns.
See grid.pattern_text()
for more information.
Wave geometry patterns.
See grid.pattern_wave()
for more information.
Weave geometry patterns.
See grid.pattern_weave()
for more information.
See https://trevorldavis.com/R/gridpattern/dev/articles/developing-patterns.html for more information.
See https://trevorldavis.com/R/gridpattern/dev/articles/developing-patterns.html for more information.
https://coolbutuseless.github.io/package/ggpattern/index.html
for more details on the ggpattern
package.
print(names_pattern) #> [1] "ambient" "circle" "crosshatch" "gradient" #> [5] "image" "magick" "none" "pch" #> [9] "placeholder" "plasma" "polygon_tiling" "regular_polygon" #> [13] "rose" "stripe" "text" "wave" #> [17] "weave" 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)) # geometry-based patterns # 'stripe' pattern grid.newpage() grid.pattern("stripe", x_hex, y_hex, colour="black", fill=c("yellow", "blue"), density = 0.5) # Can alternatively use "gpar()" to specify colour and line attributes grid.newpage() grid.pattern("stripe", x_hex, y_hex, gp = gpar(col="blue", fill="red", lwd=2)) # 'weave' pattern grid.newpage() grid.pattern("weave", x_hex, y_hex, type = "satin", colour = "black", fill = "lightblue", fill2 = "yellow", density = 0.3) # 'regular_polygon' pattern grid.newpage() grid.pattern_regular_polygon(x_hex, y_hex, colour = "black", fill = c("blue", "yellow", "red"), shape = c("convex4", "star8", "circle"), density = c(0.45, 0.42, 0.4), spacing = 0.08, angle = 0) # can be used to achieve a variety of 'tiling' effects grid.newpage() grid.pattern_regular_polygon(x_hex, y_hex, color = "transparent", fill = c("white", "grey", "black"), density = 1.0, spacing = 0.1, shape = "convex6", grid = "hex") if (require("magick")) { # array-based patterns # 'image' pattern logo_filename <- system.file("img", "Rlogo.png" , package="png") grid.newpage() grid.pattern("image", x_hex, y_hex, filename=logo_filename, type="fit") # 'plasma' pattern grid.newpage() grid.pattern("plasma", x_hex, y_hex, fill="green") } }![]()
![]()
![]()
#> Loading required package: magick #> Linking to ImageMagick 6.9.10.23 #> Enabled features: fontconfig, freetype, fftw, lcms, pango, webp, x11 #> Disabled features: cairo, ghostscript, heic, raw, rsvg #> Using 8 threads
![]()
![]()
![]()