Palettes              package:grDevices              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:

     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 argument 'gamma' in 'hsv'.

_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' and 'col2rgb' for
     translating to RGB numbers.

_E_x_a_m_p_l_e_s:

     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)

