Dear list,

I'm using lattice::levelplot to plot a coloured image of 3D data. The
range of the z values goes from negative to positive, but is not
exactly centred around 0. I would however like to map a diverging
colour scale with white falling exactly at 0, and both extremes being
symmetrical in the legend to better contrast the opposite change in
colour saturation. The following dummy example illustrates my problem,


library(lattice)
d <- transform(expand.grid(x=seq(0, 10, length=100),
                           y=seq(0, 10, length=100)),
               z = sin(x/pi)*cos(0.5*y/pi) - 0.2)

levelplot(z~x*y, data=d,
          panel=panel.levelplot.raster,
          cuts = 100, interpolate = TRUE)

The colour scale goes from -0.3 to 0.9 with a middle (white) value of
0.3 approximately.  I'd like it to be from -1 (most saturated blue) to
1 (most saturated pink), say, with 0 being white.

I read the entry in ?levelplot and in ?level.colors but could not find
a solution to this particular case.

Sincerely,

baptiste

______________________________________________
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.

Reply via email to