Ich benutze die levelplot
Funktion des fantastischen rasterVis
Pakets, um eine Karte zu erstellen, deren Werte um Null herum abweichen. Ich zeichne eine Rasterdatei mit einer Rot-Blau-Palette, versuche jedoch, Nullwerte in der Karte Grau zuzuweisen.
Insbesondere möchte ich die Farben dieser Figur reproduzieren:
Beachten Sie, dass dort, wo eine Rot-Blau-Skala verwendet wird, die Nullwerte jedoch grau gefärbt wurden.
Derzeit sehen meine Karten folgendermaßen aus:
Und dies ist der Code, um ihn zu reproduzieren (Datei verfügbar unter 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)
Wie kann ich allen Nullwerten in meiner obigen Karte Grau zuweisen?
quelle
myTheme$panel.background$col = 'grey70'
nach IhrermyTheme
Linie hinzuzufügen , und zeichnen Sie sie, um das Ergebnis zu sehen. Anscheinend muss ich jetzt die übermäßigen NA-Bereiche um das Bild herum entfernen.0
Wert vomNA
Wert unterscheidet. Sie haben auch unterschiedliche Bedeutungen. Sie können beiden die gleiche Farbe zuweisen, aber ich denke, das ist nicht angemessen. Wenn Sie ein Niederschlagsraster haben möchten, das der von Ihnen veröffentlichten Zahl ähnelt (weitere Daten), könnte ein Vorschlag versuchen, Ihre Daten nach einem geeigneten Vorhersagemodell zu interpolieren.