grid.pattern_text() draws a text character pattern onto the graphic device.

grid.pattern_text(
x = c(0, 0, 1, 1),
y = c(1, 0, 0, 1),
id = 1L,
...,
colour = gp$col %||% "grey20", angle = 30, spacing = 0.05, xoffset = 0, yoffset = 0, scale = 0.5, shape = "X", grid = "square", type = NULL, subtype = NULL, rot = 0, alpha = gp$alpha %||% NA_real_,
size = gp$fontsize %||% 12, fontfamily = gp$fontfamily %||% "sans",
fontface = gp\$fontface %||% "plain",
use_R4.1_clipping = getOption("ggpattern_use_R4.1_clipping",
getOption("ggpattern_use_R4.1_features")),
png_device = NULL,
res = 72,
default.units = "npc",
name = NULL,
gp = gpar(),
draw = TRUE,
vp = NULL
)

## Arguments

x 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 Rotation angle in degrees Spacing between repetitions of pattern ('snpc' units between 0 and 1). Shift pattern along x axis ('snpc' units between 0 and 1). Shift pattern along y axis ('snpc' units between 0 and 1). For star polygons, multiplier (between 0 and 1) applied to exterior radius to get interior radius. A character or expression vector. See label argument of grid::textGrob() for more details. 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. 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 regular polygon (degrees, counter-clockwise). Alpha (between 0 and 1) or NA (default, preserves colors' alpha value). Stroke linewidth The font family. See grid::gpar() for more details. The font face. See grid::gpar() for more details. If TRUE use the grid clipping path 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 clipping path feature and the grid clipping path feature does not nest. “png” graphics device to use if use_R4.1_clipping is FALSE. If NULL (default) will use ragg::agg_png() if the suggested package ragg is available else grDevices::png(). Resolution of desired rasterGrob in pixels per inch if use_R4.1_clipping 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).

## Value

A grid grob object invisibly. If draw is TRUE then also draws to the graphic device as a side effect.

## Examples

  if (require("grid") && capabilities("png")) {
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))

playing_card_symbols <- c("\u2660", "\u2665", "\u2666", "\u2663")
grid.newpage()
grid.pattern_text(x_hex, y_hex,
shape = playing_card_symbols,
colour = c("black", "red", "red", "black"),
size = 18, spacing = 0.1, angle = 0)
}