fill_pattern {fillpattern} | R Documentation |
Patterned Fills for Grobs
fill_pattern(
patterns = "brick",
fg = "black",
bg = "transparent",
angle = 0,
width = 5,
height = NA,
lwd = 1,
lty = "solid",
fun = NULL
)
fillPatternGrob(
pattern = "brick",
fg = "black",
bg = "transparent",
angle = 0,
width = 5,
height = NA,
lwd = 1,
lty = "solid",
fun = NULL
)
patterns , pattern |
The pattern specification. Options are |
fg |
Foreground color, for the pattern's lines. Default: |
bg |
Background color (or grob). Default: |
angle |
How much the rotate the pattern, given in degrees clockwise.
Default: |
width |
The width of the pattern tile. Assumed to be millimeters
unless set otherwise with |
height |
The height of the pattern tile, or |
lwd |
Line width. A positive number.
See |
lty |
Line type. One of |
fun |
A function for modifying graphical parameters immediately
before rendering. Should accept two parameters: |
fillPatternGrob()
expects a single value for each parameter.
fill_pattern()
can accept a vector of values for each parameter
which are subset or recycled as needed to obtain the same number as
length(patterns)
.
fill_pattern()
returns a list of grid::pattern()
objects;
fillPatternGrob()
returns a grid::gTree()
object.
Base name:
Pattern names must always begin with one of "brick"
, "chevron"
,
"fish"
, "grid"
, "herringbone"
, "hexagon"
, "octagon"
, "rain"
,
"saw"
, "shingle"
, "rshingle"
, "stripe"
, or "wave"
.
These names support partial matching, e.g. "her"
, "herring"
, and
"herringbone"
are all valid. However, tiling designs may be added in
the future, so it is recommended to use the full names in finished code.
Angle modifier:
A number immediately following the tiling design, such as "stripe45"
,
"fish180"
, or "saw20"
.
Is added to the angle
argument; fill_pattern("brick45", angle=45)
is
equivalent to fill_pattern("brick90")
.
Width and height modifier:
An underscore followed by a single size to be used for both width and height.
Or, an underscore followed by the new width and height separated by a colon.
Can be absolute sizes ("grid_4"
or "hex_5mm:0.1npc"
) or relative to
the width
and height
arguments ("saw_sm"
or "brick_*2:/2"
). The
shorthand values "xs"
, "sm"
, "md"
, "lg"
, and "xl"
are equivalent
to "/4"
, "/2"
, "1"
, "*2"
, and "*4"
, respectively.
Line width and style:
An underscore, followed by a number, followed by one of "solid"
,
"dashed"
, "dotted"
, "dotdash"
, "longdash"
, or "twodash"
. For
example, "shingle_0.5dashed"
or "wave_2solid"
.
The number component is optional, so "oct_longdash"
is also valid, and
will use lwd
for the line width.
To specify just the line width, suffix the number with "lwd":
"grid_2lwd"
will use lty
for the line style.
Combinations:
Modifiers can be combined in any order. For example, "hex_lg:xl_2dotted"
or "grid45_dashed_1.4lwd_:6mm_sm:"
.
scale_fill_pattern()
for ggplot2
integration.
library(grid)
library(fillpattern)
grid.newpage()
grid.rect(gp = gpar(fill = fill_pattern("brick", bg = "gray", angle = 90)))
grid.newpage()
gp <- Map(gpar, fill = fill_pattern(
patterns = c("grid_3lwd", "stripe_longdash", "herringbone45", "hexagon_lg"),
fg = c("black", "white", "black", "blue"),
bg = c("white", "black", "cyan", "beige") ))
grid.circle( gp = gp[[1]], x = 1/4, y = 3/4, r = 1/5)
grid.polygon(gp = gp[[2]], x = c(9,12,15)/16, y = c(15,9,15)/16)
grid.rect( gp = gp[[3]], x = 1/4, y = 1/4, width = 2/5, height = 2/5)
grid.rect( gp = gp[[4]], x = 3/4, y = 1/4, width = 2/5, height = 2/5)