scale_fill_pattern {fillpattern} | R Documentation |
Patterned Fills for ggplot.
Description
Patterned Fills for ggplot.
Usage
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
)
Arguments
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: |
Details
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 = )
.
Value
A ggplot2::discrete_scale()
object.
Pattern Names
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 tofill_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 thewidth
andheight
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 uselwd
for the line width.To specify just the line width, suffix the number with "lwd":
"grid_2lwd"
will uselty
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:"
.
See Also
fill_pattern()
for base grid
graphics integration.
Examples
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'))