colorRamp             package:grDevices             R Documentation

_C_o_l_o_r _i_n_t_e_r_p_o_l_a_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     These functions return functions that interpolate a set of given
     colors to create new color palettes (like 'topo.colors') and color
     ramps, functions that map the interval [0, 1] to colors (like
     'grey').

_U_s_a_g_e:

     colorRamp(colors, bias = 1, space = c("rgb", "Lab"),
               interpolate = c("linear", "spline"))
     colorRampPalette(colors, ...)

_A_r_g_u_m_e_n_t_s:

  colors: Colors to interpolate 

    bias: A positive number. Higher values give more widely spaced
          colors at the high end.

   space: Interpolation in RGB or CIE Lab color spaces

interpolate: Use spline or linear interpolation.

     ...: arguments to pass to 'colorRamp'.

_D_e_t_a_i_l_s:

     The CIE Lab color space is approximately perceptually uniform, and
     so gives smoother and more uniform color ramps. On the other hand,
     palettes that vary from one hue to another via white may have a
     more symmetrical appearance in RGB space.

     The conversion formulas in this function do not appear to be
     completely accurate and the color ramp may not reach the extreme
     values in Lab space.  Future changes in the R color model may
     change the colors produced with 'space="Lab"'.

_V_a_l_u_e:

     'colorRamp' returns a function that maps values between 0 and 1 to
     colors. 'colorRampPalette' returns a function that takes an
     integer argument and returns that number of colors interpolating
     the given sequence (similar to 'heat.colors' or 'terrain.colors'.

_S_e_e _A_l_s_o:

     Good starting points for interpolation are the "sequential" and
     "diverging" ColorBrewer palettes in the RColorBrewer package

_E_x_a_m_p_l_e_s:

     require(graphics)

     ## Here space="rgb" gives palettes that vary only in saturation,
     ## as intended.
     ## With space="Lab" the steps are more uniform, but the hues
     ## are slightly purple.
     filled.contour(volcano,
                    color.palette =
                        colorRampPalette(c("red", "white", "blue")),
                    asp = 1)
     filled.contour(volcano,
                    color.palette =
                        colorRampPalette(c("red", "white", "blue"),
                                         space = "Lab"),
                    asp = 1)

     ## Interpolating a 'sequential' ColorBrewer palette
     YlOrBr <- c("#FFFFD4", "#FED98E", "#FE9929", "#D95F0E", "#993404")
     filled.contour(volcano,
                    color.palette = colorRampPalette(YlOrBr, space = "Lab"),
                    asp = 1)
     filled.contour(volcano,
                    color.palette = colorRampPalette(YlOrBr, space = "Lab",
                                                     bias = 0.5),
                    asp = 1)

     ## 'jet.colors' is "as in Matlab"
     ## (and hurting the eyes by over-saturation)
     jet.colors <-
       colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan",
                          "#7FFF7F", "yellow", "#FF7F00", "red", "#7F0000"))
     filled.contour(volcano, color = jet.colors, asp = 1)

     ## space="Lab" helps when colors don't form a natural sequence
     m <- outer(1:20,1:20,function(x,y) sin(sqrt(x*y)/3))
     rgb.palette <- colorRampPalette(c("red", "orange", "blue"),
                                     space = "rgb")
     Lab.palette <- colorRampPalette(c("red", "orange", "blue"),
                                     space = "Lab")
     filled.contour(m, col = rgb.palette(20))
     filled.contour(m, col = Lab.palette(20))

