scale_fill_pattern {fillpattern} | R Documentation |
Patterned Fills for ggplot.
scale_fill_pattern(
patterns = seq_len,
fg = NA,
bg = ifelse(is.na(fg), "transparent", NA),
fade = ifelse(is.na(fg), 1, 0.6),
alpha = 1,
angle = 0,
width = unit(1/10, "npc"),
height = NA,
lwd = 1,
lty = "solid",
fun = NULL
)
patterns |
A vector of pattern names that will be subset or recycled
as needed to match the levels of the |
fg |
Foreground color for the pattern's lines, or |
bg |
Background color (or grob), or |
fade , alpha |
Modify the color from the |
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: |
All of the parameters can accept a vector of values or a function
that takes n
as an argument and returns the value(s) to use. The
values are subset or recycled as needed to obtain the same number
as length(levels(fill))
, where fill is the variable defined by
aes(fill = )
.
A ggplot2::discrete_scale()
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:"
.
fill_pattern()
for base grid
graphics integration.
library(ggplot2)
library(fillpattern)
ggplot(mpg, aes(x = class, y = hwy, color = class, fill = class)) +
geom_boxplot() +
scale_fill_pattern()
ggplot(mpg, aes(x = drv, y = hwy, color = drv, fill = drv)) +
geom_violin() +
scale_colour_brewer(palette = "Set1") +
scale_fill_pattern(c("brick", "stripe45", "grid45_lg"), fg = "black")
ggplot(mpg, aes(x = drv, color = drv, fill = drv)) +
geom_bar() +
scale_fill_pattern(
patterns = c("hex_sm", "brick90_xl", "fish"),
lty = c("solid", "twodash", "dotted"),
lwd = c(2, 3, 1) ) +
theme(legend.key.size = unit(2, 'cm'))