| rainbow_hcl {vcd} | R Documentation |
Color palettes based on the HCL and HSV color spaces.
rainbow_hcl(n, c = 50, l = 70, start = 0, end = 360*(n-1)/n, ...) sequential_hcl(n, h = 260, c. = c(80, 0), l = c(30, 90), power = 1.5, ...) heat_hcl(n, h = c(0, 90), c. = c(100, 30), l = c(50, 90), power = c(1/5, 1), ...) terrain_hcl(n, h = c(130, 0), c. = c(80, 0), l = c(60, 95), power = c(1/10, 1), ...) diverge_hcl(n, h = c(260, 0), c = 80, l = c(30, 90), power = 1.5, ...) diverge_hsv(n, h = c(2/3, 0), s = 1, v = 1, power = 1, ...)
n |
the number of colors ( >= 1 ) to be in the palette. |
c, c. |
chroma value in the HCL color description. |
l |
luminance value in the HCL color description. |
start |
the hue at which the rainbow begins. |
end |
the hue at which the rainbow ends. |
h |
hue value in the HCL or HSV color description, has to be in [0, 360] for HCL and in [0, 1] for HSV colors. |
s |
saturation value in the HSV color description. |
v |
value value in the HSV color description. |
power |
control parameter determining how chroma and luminance should be increased (1 = linear, 2 = quadratic, etc.). |
... |
Other arguments passed to hcl
or hsv, respectively. |
All functions compute palettes based on either the HCL or
the HSV color space. rainbow_hcl computes a rainbow of colors
defined by different hues given a single value of each chroma and luminance.
It corresponds to rainbow which computes a rainbow in
HSV space.
sequential_hcl gives a sequential palette starting at the full
color hcl(h, c[1], l[1]) through to a light color
hcl(h, c[2], l[2]) by interpolation.
diverge_hcl and diverge_hsv, compute
a set of colors diverging from a neutral center (grey or white, without
color) to two different extreme colors (blue and red by default). This
is similar to cm.colors. For the diverging HSV colors,
two hues h are needed, a maximal saturation s and a
fixed value v. The saturation is then varied to obtain the
diverging colors. For the diverging HCL colors, again two hues h
are needed, a maximal chroma c and two luminances l.
The colors are then created by an interpolation between the
full color hcl(h[1], c, l[1]), a neutral color hcl(h, 0, l[2])
and the other full color hcl(h[2], c, l[1]).
The palette heat_hcl gives an implementation of heat.colors
in HCL space. By default, it goes from a red to a yellow hue, while
simultaneously going to lighter colors (i.e., increasing luminance)
and reducing the amount of color (i.e., decreasing chroma).
The terrain_hcl palette simply calls heat_hcl with different
parameters, providing colors similar in spirit to terrain.colors.
The lighter colors are not strictly HCL colors, though.
The diverging palettes are used for choosing the colors for mosaic
displays in mosaic.
Achim Zeileis Achim.Zeileis@R-project.org
## convenience demo functions
wheel <- function(col, radius = 1, ...)
pie(rep(1, length(col)), col = col, radius = radius, ...)
pal <- function(col, border = "light gray")
{
n <- length(col)
plot(0, 0, type="n", xlim = c(0, 1), ylim = c(0, 1), axes = FALSE, xlab = "", ylab="")
rect(0:(n-1)/n, 0, 1:n/n, 1, col = col, border = border)
}
## qualitative palette
wheel(rainbow_hcl(12))
## a few useful diverging HCL palettes
par(mar = rep(0, 4), mfrow = c(4, 1))
pal(diverge_hcl(7))
pal(diverge_hcl(7, h = c(246, 40), c = 96, l = c(65, 90)))
pal(diverge_hcl(7, h = c(130, 43), c = 100, l = c(70, 90)))
pal(diverge_hcl(7, h = c(180, 70), c = 70, l = c(90, 95)))
pal(diverge_hcl(7, h = c(180, 330), c = 59, l = c(75, 95)))
pal(diverge_hcl(7, h = c(128, 330), c = 98, l = c(65, 90)))
pal(diverge_hcl(7, h = c(255, 330), l = c(40, 90)))
pal(diverge_hcl(7, c = 100, l = c(50, 90), power = 1))
## sequential palettes
pal(sequential_hcl(12))
pal(heat_hcl(12, h = c(0, -100), l = c(75, 40), c = c(40, 80), power = 1))
pal(terrain_hcl(12, c = c(65, 0), l = c(45, 95), power = c(1/3, 1.5)))
pal(heat_hcl(12, c = c(80, 30), l = c(30, 90), power = c(1/5, 1.5)))
## compare base and vcd palettes
par(mfrow = c(2, 1))
wheel(rainbow(12));wheel(rainbow_hcl(12))
pal(diverge_hcl(7, c = 100, l = c(50, 90)));pal(diverge_hsv(7))
pal(diverge_hcl(7, h = c(180, 330), c = 59, l = c(75, 95)));pal(cm.colors(7))
pal(heat_hcl(12));pal(heat.colors(12))
pal(terrain_hcl(12));pal(terrain.colors(12))