Compute color sequences by linear interpolation based on a continuous color scheme between certain start and end colors. Color sequences may thereby be computed in the HCL or RGB color space.
colSequence(p, start, end, space = c("hcl", "rgb"), ...)
colSequenceRGB(p, start, end, fixup = TRUE, ...)
colSequenceHCL(p, start, end, fixup = TRUE, ...)
a numeric vector with values between 0 and 1 giving values to be used for interpolation between the start and end color (0 corresponds to the start color, 1 to the end color).
the start and end color, respectively. For HCL colors,
each can be supplied as a vector of length three (hue, chroma, luminance) or
an object of class "colorspace::polarLUV()
". For RGB colors,
each can be supplied as a character string, a vector of length three (red,
green, blue) or an object of class "colorspace::RGB()
".
character string; if start
and end
are both
numeric, this determines whether they refer to HCL or RGB values. Possible
values are "hcl"
(for the HCL space) or "rgb"
(for the RGB
space).
for colSequence
, additional arguments to be passed to
colSequenceHCL
or colSequenceRGB
. For colSequenceHCL
and colSequenceRGB
, additional arguments to be passed to
colorspace::hex()
.
a logical indicating whether the colors should be corrected to
valid RGB values (see colorspace::hex()
).
A character vector containing hexadecimal strings of the form
"#RRGGBB"
.
Zeileis, A., Hornik, K., Murrell, P. (2009) Escaping RGBland: Selecting colors for statistical graphics. Computational Statistics & Data Analysis, 53 (9), 1259–1270.
p <- c(0, 0.3, 0.55, 0.8, 1)
## HCL colors
colSequence(p, c(0, 0, 100), c(0, 100, 50))
#> [1] "#FFFFFF" "#FAC8D1" "#F09AAB" "#E16A86" "#D33F6A"
colSequence(p, polarLUV(L=90, C=30, H=90), c(0, 100, 50))
#> [1] "#E2E6BD" "#DBBD80" "#DB975E" "#D86B5B" "#D33F6A"
## RGB colors
colSequence(p, c(1, 1, 1), c(1, 0, 0), space="rgb")
#> [1] "#FFFFFF" "#FFDADA" "#FFB3B3" "#FF7C7C" "#FF0000"
colSequence(p, RGB(1, 1, 0), "red")
#> [1] "#FFFF00" "#FFDA00" "#FFB300" "#FF7C00" "#FF0000"