desaturate | R Documentation |
Transform a vector of given colors to the corresponding colors with chroma reduced (by a tunable amount) in HCL space.
desaturate(col, amount = 1, ...)
col |
vector of R colors. Can be any of the three kinds of R colors, i.e.,
either a color name (an element of |
amount |
numeric specifying the amount of desaturation where |
... |
additional arguments. If |
If input col
is a vector given colors are first transformed to RGB
(either using hex2RGB
or
col2rgb
) and then to HCL
(polarLUV
). In HCL, chroma is reduced
and then the color is transformed back to a hexadecimal
string.
If input col
is a matrix with three rows named R
, G
, and
B
(top down) they are interpreted as Red-Green-Blue values within the
range [0-255]
. The desaturation takes place in the HCL space as well.
Instead of an (s)RGB color vector a matrix of the same size as the input
col
with desaturated Red-Green-Blue values will be returned.
This can be handy to avoid too many conversions.
A character vector with (s)RGB codings of the colors in the palette
if input col
is a vector. If input col
is a matrix with R/G/B
values a matrix of the same form and size will be returned.
Zeileis A, Fisher JC, Hornik K, Ihaka R, McWhite CD, Murrell P, Stauffer R, Wilke CO (2020). “colorspace: A Toolbox for Manipulating and Assessing Colors and Palettes.” Journal of Statistical Software, 96(1), 1–49. doi: 10.18637/jss.v096.i01
polarLUV
, hex
, lighten
## rainbow of colors and their desaturated counterparts rainbow_hcl(12) desaturate(rainbow_hcl(12)) ## convenience demo function wheel <- function(col, radius = 1, ...) pie(rep(1, length(col)), col = col, radius = radius, ...) ## compare base and colorspace palettes ## (in color and desaturated) par(mar = rep(0, 4), mfrow = c(2, 2)) ## rainbow color wheel wheel(rainbow_hcl(12)) wheel(rainbow(12)) wheel(desaturate(rainbow_hcl(12))) wheel(desaturate(rainbow(12))) ## apply desaturation directly on wide RGB matrix (with R/G/B channels in rows) RGB <- diag(3) * 255 rownames(RGB) <- c("R", "G", "B") desaturate(RGB)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.