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 <d...@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 cant 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 doesnt work. :-) > > On Nov 22, 2013, at 10:25 PM, Bert Gunter <gunter.ber...@gene.com> wrote: > > > Use the Rcolorbrewer package. > > > > -- Bert > > > > On Fri, Nov 22, 2013 at 8:43 PM, Don McKenzie <d...@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 > d...@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: acans...@uw.edu Cell: 206-794-1630 [[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.