Trace un raster con una paleta de colores continuos con cero en blanco (Base R)
Por mucho que miré otras preguntas, no pude resolver mi problema (soy nuevo en R).
Simplemente necesito graficar un raster donde el valor mínimo (digamos el color rojo) vaya a cero (blanco) y de cero al máximo (color azul) continuamente.
Me gustaría crear esa paleta de colores independientemente de si los datos se distribuyen simétricamente en valores negativos y positivos.
Digamos que tengo un raster con estos valores:
library(raster)
values <- c(seq(-2000,0,by=1),seq(1,499,by=1))
values <- sample(values)
r <- raster(ncol=50,nrow=50)
r <- setValues(r,values)
plot(r)
Si esto ya ha sido resuelto en otra pregunta, agradecería cualquier información.
davy.ai
Para crear una paleta de colores que vaya desde el rojo (valor mínimo) hasta el azul (valor máximo) pasando por el blanco (cero), podemos usar la función
colorRampPalette()
en R. Aquí está el código para crear la paleta:`
`mypal <- colorRampPalette(c("red", "white", "blue"))
Luego podemos usar esta paleta con la función
plot()
para graficar nuestra matriz raster con el esquema de colores deseado:`
`plot(r, col=mypal(100))
El argumento
mypal(100)
especifica que queremos usar 100 colores diferentes de la paleta de colores.Si sus datos están distribuidos simétricamente alrededor de cero, es posible que desee considerar el uso de una paleta de colores divergente, que puede destacar tanto los valores positivos como negativos. R tiene varias paletas de colores divergentes integradas, incluyendo
RdBu
,RdYlBu
ySpectral
. Puede utilizar estas paletas de la misma manera que se describe arriba:“ `
mypal <- colorRampPalette(brewer.pal(11, “RdBu”)) #use esta línea para crear una paleta divergente
plot(r, col=mypal(100))
“ `
¡Espero que esto ayude!