A layer operation for copying and then adjusting the params and aesthetic mappings of a layer-like object.
Arguments
- object
One of:
A layer-like object: applies this operation to the layer.
A missing argument: creates an operation
Anything else: creates an operation, passing
object
along to themapping
argument
- mapping
An aesthetic created using
aes()
. Mappings provided here will overwrite mappings inggplot2::layer()
s when this operation is applied to them.- ...
ggplot2::layer()
parameters, such as would be passed to ageom_...()
orstat_...()
call. Params provided here will overwrite params in layers when this operation is applied to them.
Value
A layer-like object (if object
is layer-like) or an operation (if not).
Details
These are shortcuts for duplicating a layer and then applying adjust()
.
Specifically:
copy_over(...)
is equivalent to1 + adjust(...)
copy_under(...)
is equivalent toadjust(...) + 1
Examples
library(ggplot2)
# here we use copy_under() to create a copy of
# the stat_smooth layer, putting a white outline around it.
set.seed(1234)
k = 1000
data.frame(
x = seq(1, 10, length.out = k),
y = rnorm(k, seq(1, 2, length.out = k) + c(0, 0.5)),
g = c("a", "b")
) |>
ggplot(aes(x, y, color = g)) +
geom_point() +
stat_smooth(method = lm, formula = y ~ x, linewidth = 1.5, se = FALSE) *
copy_under(aes(group = g), color = "white", linewidth = 4) +
scale_color_brewer(palette = "Dark2")