Plotando uma varredura com a rampa de cores divergindo em torno de zero

Estou tentando traçar um mapa com valores positivos e negativos.

Todos os valores positivos devem ter cor vermelha, enquanto os negativos devem ter cor azul e zero deve ter branco, como neste gráfico de amostra com cores discretas

Abaixo está o código que estou usando:

library (rasterVis)
ras1 <- raster(nrow=10,ncol=10) 
set.seed(1) 
ras1[] <- rchisq(df=10,n=10*10) 
ras2=ras1*(-1)/2 
s <- stack(ras1,ras2) 
levelplot(s,par.settings=RdBuTheme())

Muito obrigado por fornecer uma solução geral que também possa ser aplicada em outros exercícios de mapeamento.

questionAnswers(2)

yourAnswerToTheQuestion