Korzystam z levelplot
funkcji niesamowitego rasterVis
pakietu, aby stworzyć mapę, której wartości różnią się od zera. Planuję plik rastrowy przy użyciu palety od czerwonej do niebieskiej, ale próbuję przypisać wartości szare do zera na mapie.
W szczególności chcę odtworzyć kolory tej figury:
Zauważ, że tam, gdzie używana jest skala od czerwonej do niebieskiej, ale wartości zerowe zostały zabarwione na szaro.
Obecnie moje mapy wyglądają tak:
A to jest kod do jego odtworzenia (plik dostępny na 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)
Jak mogę przypisać kolor szary do wszystkich wartości zerowych na mojej mapie powyżej?
źródło
myTheme$panel.background$col = 'grey70'
pomyTheme
linii i wykreśl ją, aby zobaczyć wynik. Najwyraźniej teraz muszę pozbyć się nadmiernych obszarów NA wokół obrazu.0
wartość różni się odNA
wartości. Mają też różne znaczenia. Możesz przypisać ten sam kolor do obu, ale myślę, że to nie jest właściwe. Jeśli chcesz mieć raster opadów, który wygląda jak liczba, którą opublikowałeś (więcej danych), jedną z sugestii może być próba interpolacji danych zgodnie z odpowiednim modelem predykcyjnym.