Palettes                package:base                R Documentation

Color Palettes

Description:

     Create a vector of `n' ``contiguous'' colors.

Usage:

     rainbow(n, s = 1, v = 1, start = 0, end = max(1,n - 1)/n, gamma = 1)
     heat.colors(n)
     terrain.colors(n)
     topo.colors(n)
     cm.colors(n)

Arguments:

       n: the number of colors (>= 1) to be in the palette.

     s,v: the ``saturation'' and ``value'' to be used to complete the
          HSV color descriptions.

   start: the (corrected) hue in [0,1] at which the rainbow begins.

     end: the (corrected) hue in [0,1] at which the rainbow ends.

   gamma: the gamma correction, see argument `gamma' in `hsv'.

Details:

     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, gamma)', where `gamma'=1 for the foo`.colors'
     function, 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=1/6,
     green=2/6, cyan=3/6, blue=4/6 and magenta=5/6.

Value:

     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'.

See Also:

     `colors', `palette',  `hsv', `rgb', `gray' and `col2rgb' for
     translating to RGB numbers.

Examples:

     # A Color Wheel
     piechart(rep(1,12), col=rainbow(12))

     ##------ Some palettes ------------
     ch.col <- c("rainbow(n, start=.7, end=.1)", "heat.colors(n)",
                 "terrain.colors(n)", "topo.colors(n)", "cm.colors(n)")

     n <- if(.Device == "postscript") 64 else 16
          # Since for screen, larger n may give color allocation problem
     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=paste("color palettes;  n=",n))
     for (k in 1:nt) {
       rect(i-.5,(k-1)*j+ dy, i+.4,  k*j, col=eval(parse(text=ch.col[k])))
       text(2*j,  k * j +dy/4, ch.col[k])
     }

