Last chance! 50% off unlimited learning
Sale ends in
Create a vector of n
contiguous colors.
rainbow(n, s = 1, v = 1, start = 0, end = max(1, n - 1)/n, alpha = 1)
heat.colors(n, alpha = 1)
terrain.colors(n, alpha = 1)
topo.colors(n, alpha = 1)
cm.colors(n, alpha = 1)
the number of colors (
the ‘saturation’ and ‘value’ to be used to complete the HSV color descriptions.
the (corrected) hue in [0,1] at which the rainbow begins.
the (corrected) hue in [0,1] at which the rainbow ends.
the alpha transparency, a number in [0,1], see argument
alpha
in hsv
.
A character vector, cv
, of color names. This can be used
either to create a user--defined color palette for subsequent
graphics by palette(cv)
, a col =
specification
in graphics functions or in par
.
Conceptually, all of these functions actually use (parts of) a line
cut out of the 3-dimensional color space, parametrized by
hsv(h, s, v)
, and hence
equispaced hues in RGB space tend to cluster at
the red, green and blue primaries.
Some applications such as contouring require a palette of colors which do not wrap around to give a final color close to the starting one.
With rainbow
, the parameters start
and end
can be used
to specify particular subranges of hues.
The following values can be used when generating such a subrange:
red = 0, yellow =
colors
, palette
, hsv
,
hcl
, rgb
, gray
and
col2rgb
for translating to RGB numbers.
# NOT RUN {
require(graphics)
# A Color Wheel
pie(rep(1, 12), col = rainbow(12))
##------ Some palettes ------------
demo.pal <-
function(n, border = if (n < 32) "light gray" else NA,
main = paste("color palettes; n=", n),
ch.col = c("rainbow(n, start=.7, end=.1)", "heat.colors(n)",
"terrain.colors(n)", "topo.colors(n)",
"cm.colors(n)"))
{
nt <- length(ch.col)
i <- 1:n; j <- n / nt; d <- j/6; dy <- 2*d
plot(i, i+d, type = "n", yaxt = "n", ylab = "", main = main)
for (k in 1:nt) {
rect(i-.5, (k-1)*j+ dy, i+.4, k*j,
col = eval(parse(text = ch.col[k])), border = border)
text(2*j, k * j + dy/4, ch.col[k])
}
}
n <- if(.Device == "postscript") 64 else 16
# Since for screen, larger n may give color allocation problem
demo.pal(n)
# }
Run the code above in your browser using DataLab