Rev 50805 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/grDevices/man/palettes.Rd% Part of the R package, http://www.R-project.org% Copyright 1995-2007 R Core Development Team% Distributed under GPL 2 or later\name{Palettes}\alias{rainbow}\alias{heat.colors}\alias{terrain.colors}\alias{topo.colors}\alias{cm.colors}\title{Color Palettes}\description{Create a vector of \code{n} contiguous colors.}\usage{rainbow(n, s = 1, v = 1, start = 0, end = max(1,n - 1)/n,gamma = 1, alpha = 1)heat.colors(n, alpha = 1)terrain.colors(n, alpha = 1)topo.colors(n, alpha = 1)cm.colors(n, alpha = 1)}\arguments{\item{n}{the number of colors (\eqn{\ge 1}) to be in thepalette.}\item{s,v}{the \sQuote{saturation} and \sQuote{value} to be usedto complete the HSV color descriptions.}\item{start}{the (corrected) hue in [0,1] at which the rainbowbegins.}\item{end}{the (corrected) hue in [0,1] at which the rainbow ends.}\item{gamma}{the gamma correction, see argument \code{gamma} in\code{\link{hsv}}.}\item{alpha}{the alpha transparency, a number in [0,1], see argument\code{alpha} in \code{\link{hsv}}.}}\details{Conceptually, all of these functions actually use (parts of) a linecut out of the 3-dimensional color space, parametrized by\code{\link{hsv}(h,s,v, gamma)}, where \code{gamma}\eqn{=1} for the\emph{foo}\code{.colors} function, and hence,equispaced hues in RGB space tend to cluster atthe red, green and blue primaries.Some applications such as contouring require a paletteof colors which do not wrap around to give a finalcolor close to the starting one.With \code{rainbow}, the parameters \code{start} and \code{end} can be usedto specify particular subranges of hues.The following values can be used when generating such a subrange:red=0, yellow=\eqn{\frac 1 6}{1/6}, green=\eqn{\frac 2 6}{2/6},cyan=\eqn{\frac 3 6}{3/6}, blue=\eqn{\frac 4 6}{4/6}and magenta=\eqn{\frac 5 6}{5/6}.}\value{A character vector, \code{cv}, of color names. This can be usedeither to create a user--defined color palette for subsequentgraphics by \code{\link{palette}(cv)}, a \code{col=} specificationin graphics functions or in \code{par}.}\seealso{\code{\link{colors}}, \code{\link{palette}}, \code{\link{hsv}},\code{\link{hcl}}, \code{\link{rgb}}, \code{\link{gray}} and\code{\link{col2rgb}} for translating to RGB numbers.}\examples{require(graphics)# A Color Wheelpie(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*dplot(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 problemdemo.pal(n)}\keyword{color}\keyword{dplot}