EmpezarEmpieza gratis

Un ejemplo cualitativo

Para terminar, veamos un ejemplo con una variable categórica. El ráster land_cover contiene una categorización en cuadrícula de la superficie terrestre. Échale un vistazo a land_cover imprimiéndolo:

land_cover

Verás que los values son numéricos, pero hay attributes que asignan estos números a categorías (igual que funcionan los factores).

Elegir colores para variables categóricas depende mucho del objetivo del gráfico. Cuando quieres que las categorías tengan un peso visual similar —es decir, no quieres que una resalte más que las demás—, una opción es usar colores de tonos distintos pero con la misma croma (medida de la viveza) y luminosidad (esto es lo predeterminado en las escalas discretas de color de ggplot2 y se puede generar con la función hcl()).

Las paletas cualitativas de RColorBrewer equilibran colores de peso visual similar con facilidad de identificación. Los esquemas "paired" y "accent" se desvían de esto al ofrecer pares de colores con distinta luminosidad y una paleta con algunos colores más intensos que pueden usarse para resaltar ciertas categorías, respectivamente.

Para estos datos en particular, podría tener más sentido elegir colores intuitivos, como verde para bosque y azul para agua. Elijas lo que elijas, definir nuevos colores es tan sencillo como pasar un vector de colores mediante el argumento palette en la capa tm_*** correspondiente.

Este ejercicio forma parte del curso

Visualización de datos geoespaciales en R

Ver curso

Instrucciones del ejercicio

  • Representa el ráster land_cover combinando tm_shape() y tm_raster(). De forma predeterminada, tmap usa la paleta cualitativa "Set3" de RColorBrewer.
  • Revisa el código de hcl_cols, que imita la paleta que usa ggplot2. Después, vuelve a representar el ráster land_cover, pasando hcl_cols al argumento palette de tm_raster().
  • Llama a levels() sobre land_cover para ver las categorías.
  • Esta vez, usa intuitive_cols como paleta y añade una capa tm_legend() con el argumento position = c("left", "bottom").

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

library(raster)

# Plot land_cover



# Palette like the ggplot2 default
hcl_cols <- hcl(h = seq(15, 375, length = 9), 
                c = 100, l = 65)[-9]

# Use hcl_cols as the palette



# Examine levels of land_cover


# A set of intuitive colors
intuitive_cols <- c(
  "darkgreen",
  "darkolivegreen4",
  "goldenrod2",
  "seagreen",
  "wheat",
  "slategrey",
  "white",
  "lightskyblue1"
)

# Use intuitive_cols as palette


Editar y ejecutar código