es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  , , ,

Answer

  1. Avatar for 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 y Spectral. 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!

Comments are closed.