A style of strips with individually themed strips.
strip_themed(
clip = "inherit",
size = "constant",
text_x = NULL,
text_y = NULL,
background_x = NULL,
background_y = NULL,
by_layer_x = FALSE,
by_layer_y = FALSE
)
A character(1)
that controls whether text labels are clipped to
the background boxes. Can be either "inherit"
(default), "on"
or
"off"
.
A character(1)
stating that the strip margins in different
layers remain "constant"
or are "variable"
.
A list()
with
element_text()
elements. See details.
A list()
with
element_rect()
elements. See details.
A logical(1)
that when TRUE
, maps the
different elements to different layers of the strip. When FALSE
, maps the
different elements to individual strips, possibly repeating the elements
to match the number of strips through rep_len()
.
A StripThemed
ggproto object that can be given as an argument to
facets in ggh4x.
With respect to the text_*
and background_*
arguments, they can
be a list with (a mix of) the following objects:
NULL
indicates that the global plot theme applies.
element_blank()
omits drawing the background or text.
An element
class object inheriting from the element_text
or
element_rect
classes.
For constructing homogeneous lists of elements, the
elem_list_text()
and
elem_list_rect()
are provided for convenience.
Other strips:
strip_nested()
,
strip_split()
,
strip_tag()
,
strip_vanilla()
# Some simple plot
p <- ggplot(mpg, aes(displ, hwy)) +
geom_point()
# Set some theming options, we can use `element_blank()`
backgrounds <- list(element_blank(), element_rect(fill = "dodgerblue"))
# Or we could use `NULL` to use the global theme
texts <- list(element_text(colour = "red"), NULL, element_text(face = "bold"))
# Elements are repeated until the fit the number of facets
p + facet_wrap2(
vars(drv, year),
strip = strip_themed(
background_x = backgrounds,
text_x = texts
)
)
# Except when applied to each layer instead of every strip
p + facet_wrap2(
vars(drv, year),
strip = strip_themed(
background_x = backgrounds,
text_x = texts,
by_layer_x = TRUE
)
)
# To conveniently distribute arguments over a list of the same elements,
# you can use the following wrappers:
p + facet_wrap2(
vars(drv, year),
strip = strip_themed(
text_x = elem_list_text(colour = c("blue", "red")),
background_x = elem_list_rect(fill = c("white", "grey80")),
by_layer_x = TRUE
)
)