adjustcolor {grDevices} | R Documentation |
Adjust Colors in One or More Directions Conveniently
Description
Adjust or modify a vector of colors by “turning knobs” on one or more
coordinates in (r,g,b,\alpha)
space, typically by up or down
scaling them.
Usage
adjustcolor(col, alpha.f = 1, red.f = 1, green.f = 1, blue.f = 1,
offset = c(0, 0, 0, 0),
transform = diag(c(red.f, green.f, blue.f, alpha.f)))
Arguments
col |
vector of colors, in any format that |
alpha.f |
factor modifying the opacity alpha; typically in [0,1] |
red.f , green.f , blue.f |
factors modifying the “red-”, “green-” or “blue-”ness of the colors, respectively. |
offset |
numeric vector of length 4 to offset |
transform |
a 4x4 numeric matrix applied to |
Value
a color vector of the same length as col
, effectively the
result of rgb()
.
See Also
rgb
, col2rgb
. For more sophisticated
color constructions: convertColor
Examples
## Illustrative examples :
opal <- palette("default")
stopifnot(identical(adjustcolor(1:8, 0.75),
adjustcolor(palette(), 0.75)))
cbind(palette(), adjustcolor(1:8, 0.75))
## alpha = 1/2 * previous alpha --> opaque colors
x <- palette(adjustcolor(palette(), 0.5))
sines <- outer(1:20, 1:4, function(x, y) sin(x / 20 * pi * y))
matplot(sines, type = "b", pch = 21:23, col = 2:5, bg = 2:5,
main = "Using an 'opaque ('translucent') color palette")
x. <- adjustcolor(x, offset = c(0.5, 0.5, 0.5, 0), # <- "more white"
transform = diag(c(.7, .7, .7, 0.6)))
cbind(x, x.)
op <- par(bg = adjustcolor("goldenrod", offset = -rep(.4, 4)), xpd = NA)
plot(0:9, 0:9, type = "n", axes = FALSE, xlab = "", ylab = "",
main = "adjustcolor() -> translucent")
text(1:8, labels = paste0(x,"++"), col = x., cex = 8)
par(op)
## and
(M <- cbind( rbind( matrix(1/3, 3, 3), 0), c(0, 0, 0, 1)))
adjustcolor(x, transform = M)
## revert to previous palette: active
palette(opal)
[Package grDevices version 4.4.0 Index]