J'utilise la levelplot
fonction du rasterVis
package génial pour créer une carte dont les valeurs divergent autour de zéro. Je trace un fichier raster à l'aide d'une palette rouge à bleu, mais j'essaie d'attribuer des valeurs de gris à zéro dans la carte.
Plus précisément, je veux reproduire les couleurs de cette figure:
Notez que lorsqu'une échelle de rouge à bleu est utilisée, mais que les valeurs nulles ont été colorées en gris.
Actuellement, mes cartes ressemblent à ceci:
Et voici le code pour le reproduire (fichier disponible sur 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)
Comment puis-je attribuer du gris à toutes les valeurs nulles dans ma carte ci-dessus?
la source
myTheme$panel.background$col = 'grey70'
après votremyTheme
ligne et tracez-la pour voir le résultat. Apparemment, je dois maintenant me débarrasser des zones NA excessives autour de l'image.0
valeur est différente de laNA
valeur. Ils ont également des significations différentes. Vous pouvez attribuer la même couleur aux deux, mais je pense que ce n'est pas approprié. Si vous souhaitez avoir un raster de précipitations qui ressemble à la figure que vous avez publiée (plus de données), une suggestion peut-être d'essayer d'interpoler vos données en suivant un modèle de prédiction approprié.