[R] color palette from red to blue passing white

Martin Maechler maechler at stat.math.ethz.ch
Tue Dec 4 09:57:02 CET 2007


>>>>> "AZ" == Achim Zeileis <Achim.Zeileis at wu-wien.ac.at>
>>>>>     on Tue, 4 Dec 2007 05:08:51 +0100 (CET) writes:

    AZ> On Mon, 3 Dec 2007, jim holtman wrote:

    >> see if this is what you need:
    >> 
    >> require(lattice) x <- matrix(1:100,10)
    >> levelplot(x,col.regions=colorRampPalette(c('dark
    >> red','white','dark blue')))

    AZ> Instead of colorRampPalette(), you could also use
    AZ> diverge_hcl() in package "vcd" to get a
    AZ> perceptually-based version, e.g.,

    AZ>   levelplot(x, col.regions = diverg_hcl(16))

Hmm,  I would have recommended

  colorRampPalette(c('dark red','white','dark blue'), 
                   space = "Lab")

where the 'space = "Lab"' part also makes sure that a
"perceptually-based" space rather than RGB is used.

I think the functions colorRamp() and (even more)
colorRampPalette()  are very nice, part of "standard R" and 
still not known and used enough.
Note that they are based on 'convertColor()' and other color
space functionality in R all of which deserve more usage 
in my oppinion and also in my own code ! ;-) 

Package 'vcd' (and others) use package 'colorspace', 
and I have wondered in the past if these color space computations
should not be merged into to standard R (package 'grDevices').
But that's really a topic for another thread, on R-devel, not R-help..

Martin Maechler, ETH Zurich


    >> On Dec 3, 2007 5:41 PM, Linda Smith
    >> <lsmithingm at gmail.com> wrote: > Hi All,
    >> >
    >> > I am looking for a color palette like this: >
    >> http://www.ncl.ucar.edu/Applications/Images/h_long_5_lg.png
    >> >
    >> > I think I found out how some time ago (something like
    >> Colors[1:n]), but when > I now wanna use it, I could not
    >> remember how I did it.
    >> >
    >> > Does anyone know which package I could use?
    >> >
    >> > Many thanks!
    >> >
    >> > Linda



More information about the R-help mailing list