Palettes                package:base                R Documentation

_C_o_l_o_r _P_a_l_e_t_t_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     These functions create a vector of `n' ``contiguous'' colors.

_U_s_a_g_e:

     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)

_A_r_g_u_m_e_n_t_s:

       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 `hsv(.., gamma)'.

_D_e_t_a_i_l_s:

     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.

_V_a_l_u_e:

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

_S_e_e _A_l_s_o:

     `colors', `palette',  `hsv', `rgb', `gray'.

_E_x_a_m_p_l_e_s:

     # 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])
     }

