grid.pattern_weave: Weave patterned grobs

View source: R/pattern-geometry-weave.R

grid.pattern_weaveR Documentation

Weave patterned grobs

Description

grid.pattern_weave() draws a weave pattern onto the graphic device.

Usage

grid.pattern_weave(
  x = c(0, 0, 1, 1),
  y = c(1, 0, 0, 1),
  id = 1L,
  ...,
  colour = gp$col %||% "grey20",
  fill = gp$fill %||% "grey80",
  fill2 = fill,
  angle = 30,
  density = 0.2,
  spacing = 0.05,
  xoffset = 0,
  yoffset = 0,
  alpha = gp$alpha %||% NA_real_,
  linetype = gp$lty %||% 1,
  linewidth = size %||% gp$lwd %||% 1,
  size = NULL,
  grid = "square",
  type = "plain",
  subtype = NA,
  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.

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 id belong to the same boundary.

...

Currently ignored

colour

Stroke colour

fill

The fill colour for the horizontal "weft" lines.

fill2

The fill colour for the vertical "warp" lines.

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 NA (default, preserves colors' alpha value).

linetype

Stroke linetype

linewidth

Stroke linewidth

size

For backwards compatibility can be used to set linewidth

grid

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.

type

The weave type. See pattern_weave() for more details.

subtype

The weave subtype. See pattern_weave() for more details.

default.units

A string indicating the default units to use if x or y are only given as numeric vectors.

name

A character identifier.

gp

An object of class "gpar", typically the output from a call to the function gpar. This is basically a list of graphical parameter settings.

draw

A logical value indicating whether graphics output should be produced.

vp

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.

See Also

pattern_weave()

Examples

  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))
    gp <- gpar(colour = "black", fill = "lightblue", lwd=0.5)

    # Plain weave (default weave)
    grid.pattern_weave(x_hex, y_hex, fill2 = "yellow",
                       gp = gp, spacing = 0.1, density = 0.3)

    # Irregular matt weave
    grid.newpage()
    grid.pattern_weave(x_hex, y_hex,  type = "matt_irregular",
                       fill2 = "yellow", gp = gp, spacing = 0.1, density = 0.3)

    # Twill weave
    grid.newpage()
    grid.pattern_weave(x_hex, y_hex, type = "twill",
                       fill2 = "yellow", gp = gp, spacing = 0.1, density = 0.3)

    # Zig-zag twill
    grid.newpage()
    grid.pattern_weave(x_hex, y_hex, type = "twill_zigzag",
                       fill2 = "yellow", gp = gp, spacing = 0.05, density = 0.7)

    # Herringbone twill with density 1
    grid.newpage()
    gp$col <- NA
    grid.pattern_weave(x_hex, y_hex, type = "twill_herringbone",
                       fill2 = "yellow", gp = gp, spacing = 0.05, density = 1.0)

  }

gridpattern documentation built on Oct. 26, 2023, 1:07 a.m.