Don,

This looks helpful:
https://stat.ethz.ch/pipermail/r-help/2011-March/272361.html

Also, here is some code that I had, and tried to make applicable to your
question:

div.colors <-colorRampPalette(c("blue", "white", "red" ))
x<-seq(-1,12,1);x
palette(div.colors(length(x)))
y<- rep(1,length(x))
barplot(y,  col=x+2, space=0, axes=FALSE, border = NA  ,   cex.names=1.3 ,
xlab="", ylab="",xaxt="n")

-Alina




On Mon, Nov 25, 2013 at 4:27 PM, Don McKenzie <dmck@u.washington.edu> wrote:

> Bert or anyone else familiar with RColorBrewer:
>
> Has anyone tried to accomplish with RColorBrewer what I asked about in my
> original post (below)?
>
> Here is an example cribbed from the levelplot() help examples
>
> x <- seq(pi/4, 5 * pi, length.out = 100)
> y <- seq(pi/4, 5 * pi, length.out = 100)
> r <- as.vector(sqrt(outer(x^2, y^2, "+")))
> grid <- expand.grid(x=x, y=y)
> grid$z <- cos(r^2) * exp(-r/(pi^3))
>
> # now use RColorBrewer to get a palette
>
> library("RColorBrewer”)
> levelplot(z~x*y, grid,col.regions=brewer.pal(6,"BrBG”))   # the numeric
> argument to brewer.pal is the number of colors used — I tried several
>
> This gives me a nice brown-to-green gradient but does not (AFAICS) give me
> control over where the center of the divergence lies. Even in this
> symmetrical
> example, I can’t get it to be at zero — it repeats on either side of zero.
>
> thanks to anyone who pages through all this and makes a suggestion, even
> if it doesn’t work.  :-)
>
> On Nov 22, 2013, at 10:25 PM, Bert Gunter <gunter.berton@gene.com> wrote:
>
> > Use the Rcolorbrewer package.
> >
> > -- Bert
> >
> > On Fri, Nov 22, 2013 at 8:43 PM, Don McKenzie <dmck@u.washington.edu>
> wrote:
> >> I would like to produce a levelplot with divergent colors such that
> increasingly negative values of Z get darker in the first color and
> increasingly
> >> positive values get darker in the second color.  this is common in
> cartography. I have tried tinkering with the col.regions argument but the
> best I can do
> >> is to get the split in the middle of my range of Z, but in my
> particular case range(Z) is (-1,12).
> >>
> >> I am using R 3.0.2 on OSX 10.9
> >>
> >> Here is an example
> >>
> >> x <- y <- c(1:25)
> >> grid <- expand.grid(x=x,y=y)
> >> grid$z <- sort(runif(625,min=-1,max=12))
> >> levelplot(z ~ x*y,grid)   # produces the default pink and blue but the
> split is at ~5.5
> >>
> >> # do something clever here
> >> # e.g., my.colors <- <create a palette that splits at zero>
> >>
> >> levelplot(z ~ x*y,grid,col.regions=my.colors)  # so there should be
> some light pink at the bottom and the rest increasingly intense blue
> >>
> >> Ideas appreciated.  Thanks in advance.
> >>
> >>
> >
> > Bert Gunter
> > Genentech Nonclinical Biostatistics
> >
> > (650) 467-7374
>
> Don McKenzie
> Research Ecologist
> Pacific Wildland Fire Science Lab
> US Forest Service
>
> Affiliate Professor
> School of Environmental and Forest Sciences
> University of Washington
> dmck@uw.edu
>
>
>
>


-- 
C. Alina Cansler
Fire and Mountain Ecology Lab
School of Environmental and Forest Sciences
College of the Environment
University of Washington
E-mail: acansler@uw.edu
Cell: 206-794-1630

	[[alternative HTML version deleted]]

