Skip to contents

This function lets you modify individual axes of a color in HCL color space.

Usage

modify_hcl(col, h, c, l)

Arguments

col

a color object or vector of any of the three kinds of R color specifications, i.e., either a color name (as listed by colors()), a hexadecimal string of the form "#rrggbb" or "#rrggbbaa" (see rgb), or a positive integer i meaning palette()[i].

h

Expression to modify the hue of `col`

c

Expression to modify the chroma of `col`

l

Expression to modify the luminance of `col`

Value

a colors object.

Details

The expression used in `h`, `c`, and `l` is evaluated in the `hcl` space and and you have access to `h`, `c`, and `l` as vectors along with vectors in the calling environment.

`h` ranges from 0 to 360, `l` ranges from 0 to 100, and `c` while depended on `h` and `l` will roughly be within 0 and 180, but often on a narrower range. Colors after modification will be adjusted to fit within the color space.

Examples

plot(modify_hcl("red", h = 160))

plot(modify_hcl("red", h = h + 50))


plot(modify_hcl("red", h = h + 1:100))

plot(modify_hcl("red", c = c - 1:200))

plot(modify_hcl("red", l = l + 1:50))


plot(modify_hcl(rainbow(10), l = 25))


plot(modify_hcl(rainbow(10), h + h / 2, l = 70))