grid.pattern_polygon_tiling() draws a specified polygon tiling pattern onto the graphic device.
names_polygon_tiling lists all supported types.
Usage
grid.pattern_polygon_tiling(
x = c(0, 0, 1, 1),
y = c(1, 0, 0, 1),
id = 1L,
...,
colour = gp$col %||% "grey20",
fill = gp$fill %||% "grey80",
angle = 30,
spacing = 0.05,
xoffset = 0,
yoffset = 0,
units = "snpc",
type = "square",
alpha = gp$alpha %||% NA_real_,
linetype = gp$lty %||% 1,
linewidth = size %||% gp$lwd %||% 1,
size = NULL,
default.units = "npc",
name = NULL,
gp = gpar(),
draw = TRUE,
vp = NULL
)
names_polygon_tilingArguments
- 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
idbelong to the same boundary.- ...
Currently ignored.
- colour
Stroke colour(s).
- fill
Fill colour(s) or
grid::pattern()/ gradient object(s).- angle
Rotation angle in degrees.
- spacing
Spacing between repetitions of pattern (in
unitsunits).- xoffset
Shift pattern along x axis (in
unitsunits).- yoffset
Shift pattern along y axis (in
unitsunits).- units
grid::unit()units forspacing,xoffset, andyoffsetparameters.- type
Name of polygon tiling to draw. See Details.
- alpha
Alpha (between 0 and 1) or
NA(default, preserves colors' alpha value). Not supported for all polygon tilingtype.- linetype
Stroke linetype.
- linewidth
Stroke linewidth.
- size
For backwards compatibility can be used to set
linewidth.- default.units
A string indicating the default units to use if
xoryare only given as numeric vectors.- name
A character identifier.
- gp
An object of class
"gpar", typically the output from a call to the functiongpar. 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.
Details
grid.pattern_polygon_tiling() supports 1, 2, or 3 fill colors with the first colors (weakly)
covering a larger area. Size of the pattern is controlled by spacing.
We support the following polygon tiling types:
elongated_triangularCreates an elongated triangular tiling made of squares and triangles.
herringboneCreates a herringbone tiling made of rectangles.
hexagonalCreates a hexagonal tiling made of hexagons.
pythagoreanCreates a Pythagorean tiling made of squares of two different sizes.
rhombilleCreates a rhombille tiling made of rhombi.
rhombitrihexagonalCreates a rhombitrihexagonal tiling made out of dodecagons, hexagons, and squares.
snub_squareCreates a snub square tiling made of squares and triangles.
snub_trihexagonalCreates a snub trihexagonal tiling made of hexagons and triangles.
squareCreates a square tiling made of squares.
tetrakis_squareCreates a tetrakis square tiling made of isosceles right triangles.
triangularCreates a triangular tiling made of equilateral triangles.
trihexagonalCreates a trihexagonal tiling made of hexagons and triangles.
truncated_squareCreates a truncated square tiling made of octagons and squares.
truncated_hexagonalCreates a truncated hexagonal tiling made of dodecagons and triangles.
truncated_trihexagonalCreates a truncated trihexagonal tiling made of hexagons, squares, and triangles.
2*.2**.2*.2**Creates a polygon tiling made of rhombi.
2**.3**.12*Creates a polygon tiling made of rhombi, triangles, and twelve-pointed stars.
3.3.3.3**Creates a polygon tiling made of triangles.
3.3*.3.3**Creates a regular (star) polygon tiling made of triangles and three-pointed stars.
3.3.3.12*.3.3.12*Creates a regular (star) polygon tiling made of triangles and twelve-pointed stars.
3.3.8*.3.4.3.8*Creates a regular (star) polygon tiling made of triangles, squares, and eight-pointed stars.
3.3.8*.4**.8*Creates a regular (star) polygon tiling made of triangles, four-pointed stars, and eight-pointed stars.
3.4.6.3.12*Creates a regular (star) polygon tiling made of triangles, squares, hexagons, and twelve-pointed stars.
3.4.8.3.8*Creates a regular (star) polygon tiling made of triangles, squares, octagons, and eight-pointed stars.
3.6*.6**Creates a regular (star) polygon tiling made of triangles and six-pointed stars.
4.2*.4.2**Creates a polygon tiling made of squares and rhombi.
4.4*.4**Creates a regular (star) polygon tiling made of squares and four-pointed stars.
4.6.4*.6Creates a regular (star) polygon tiling made of squares, hexagons, and four-pointed stars.
4.6*.4.6*.4.6*Creates a regular (star) polygon tiling made of squares and six-pointed stars.
4.8*.4**.8*Creates a polygon tiling of squares and eight-pointed stars.
6.6*.6.6*Creates a regular (star) polygon tiling made of hexagons and six-pointed stars.
8.4*.8.4*Creates a regular (star) polygon tiling made of octagons and four-pointed stars.
9.3.9.3*Creates a regular (star) polygon tiling made of triangles, nonagons, and three-pointed stars.
12.3*.12.3*Creates a regular (star) polygon tiling made of dodecagons and three-pointed stars.
12.12.4*Creates a regular (star) polygon tiling made of dodecagons and four-pointed stars.
18.18.3*Creates a regular (star) polygon tiling made of eighteen-sided polygons and three-pointed stars.
See also
The tiling vignette vignette("tiling", package = "gridpattern") for more
information about these tilings as well as more
examples of polygon tiling using the grid.pattern_regular_polygon() function.
Examples
print(names_polygon_tiling)
#> [1] "elongated_triangular" "herringbone" "hexagonal"
#> [4] "pythagorean" "rhombitrihexagonal" "rhombille"
#> [7] "snub_square" "snub_trihexagonal" "square"
#> [10] "tetrakis_square" "triangular" "trihexagonal"
#> [13] "truncated_square" "truncated_hexagonal" "truncated_trihexagonal"
#> [16] "2*.2**.2*.2**" "2**.3**.12*" "3.3.3.3**"
#> [19] "3.3*.3.3**" "3.3.3.12*.3.3.12*" "3.3.8*.3.4.3.8*"
#> [22] "3.3.8*.4**.8*" "3.4.6.3.12*" "3.4.8.3.8*"
#> [25] "3.6*.6**" "4.2*.4.2**" "4.4*.4**"
#> [28] "4.6.4*.6" "4.6*.4.6*.4.6*" "4.8*.4**.8*"
#> [31] "6.6*.6.6*" "8.4*.8.4*" "9.3.9.3*"
#> [34] "12.3*.12.3*" "12.12.4*" "18.18.3*"
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))
gp1 <- grid::gpar(fill = "yellow", col = "black")
gp2 <- grid::gpar(fill = c("yellow", "red"), col = "black")
gp3 <- grid::gpar(fill = c("yellow", "red", "blue"), col = "black")
grid.pattern_polygon_tiling(x_hex, y_hex, type = "herringbone", gp = gp1)
grid::grid.newpage()
grid.pattern_polygon_tiling(x_hex, y_hex, type = "hexagonal",
spacing = 0.2, gp = gp3)
grid::grid.newpage()
grid.pattern_polygon_tiling(x_hex, y_hex, type = "pythagorean",
spacing = 0.2, gp = gp2)
grid::grid.newpage()
grid.pattern_polygon_tiling(x_hex, y_hex, type = "snub_trihexagonal",
spacing = 0.2, gp = gp3)
grid::grid.newpage()
grid.pattern_polygon_tiling(x_hex, y_hex, type = "rhombille",
spacing = 0.2, gp = gp3)