Estou usando a levelplot
função do rasterVis
pacote incrível para criar um mapa cujos valores divergem em torno de zero. Estou plotando um arquivo raster usando uma paleta de vermelho para azul, mas estou tentando atribuir valores de cinza a zero no mapa.
Especificamente, quero reproduzir as cores desta figura:
Observe que onde uma escala de vermelho a azul é usada, mas os valores zero foram coloridos em cinza.
Atualmente, meus mapas são assim:
E este é o código para reproduzi-lo (arquivo disponível em https://www.dropbox.com/s/cypfdu1eaz2fuok/r.annual.tif?dl=0 ):
# Load required packages
library(rasterVis)
# open file
r.annual <- raster("Downloads/r.annual.tif")
# Set color palette
myTheme=rasterTheme(region=brewer.pal('RdBu', n=11))
# Plot
levelplot(annual.mask, par.settings=myTheme, margin=F)
Como posso atribuir cinza a todos os valores zero no meu mapa acima?
fonte
myTheme$panel.background$col = 'grey70'
depois da suamyTheme
linha e plote-a para ver o resultado. Aparentemente, agora eu preciso me livrar das áreas excessivas de NA ao redor da imagem.0
valor é diferente doNA
valor. Também eles têm significados diferentes. Você pode atribuir a mesma cor para ambos, mas acho que não é apropriado. Se você deseja ter uma varredura de precipitação parecida com a figura que você postou (mais dados), uma sugestão talvez esteja tentando interpolar seus dados seguindo um modelo de previsão apropriado.