CommencezCommencez gratuitement

Un exemple qualitatif

Enfin, voyons un exemple de variable catégorielle. Le raster land_cover contient une catégorisation en grille de la surface terrestre. Affichez land_cover en l'imprimant :

land_cover

Vous remarquerez que les values sont numériques, mais que des attributes font correspondre ces nombres à des catégories (un peu comme le fonctionnement des facteurs).

Le choix des couleurs pour les variables catégorielles dépend beaucoup de l'objectif du graphique. Quand vous souhaitez que les catégories aient un poids visuel à peu près égal — c'est‑à‑dire qu'aucune ne ressorte davantage que les autres — une approche consiste à utiliser des couleurs de teintes différentes, mais de chroma (mesure de la vivacité) et de clarté égales (c'est le comportement par défaut des échelles de couleurs discrètes dans ggplot2, et cela peut être généré avec la fonction hcl()).

Les palettes qualitatives de RColorBrewer trouvent un équilibre entre un poids visuel comparable et la facilité d'identification des couleurs. Les schémas "paired" et "accent" s'en écartent : le premier offre des paires de couleurs de clarté différente et le second propose une palette avec des couleurs plus intenses pour mettre en évidence certaines catégories.

Pour ces données en particulier, il peut être plus logique de choisir des couleurs intuitives, comme le vert pour la forêt et le bleu pour l'eau. Peu importe l'option, il suffit de transmettre un vecteur de couleurs via l'argument palette dans la couche tm_*** correspondante pour définir de nouvelles couleurs.

Cette activité fait partie du cours

Visualiser des données géospatiales avec R

Voir le cours

Instructions de l’exercice

  • Tracez le raster land_cover en combinant tm_shape() et tm_raster(). Par défaut, tmap utilise la palette qualitative "Set3" de RColorBrewer.
  • Examinez le code de hcl_cols, qui imite la palette utilisée par ggplot2. Puis retracez le raster land_cover en passant hcl_cols à l'argument palette de tm_raster().
  • Appelez levels() sur land_cover pour voir les catégories.
  • Cette fois, utilisez intuitive_cols comme palette et ajoutez une couche tm_legend() avec l'argument position = c("left", "bottom").

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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


Modifier et exécuter le code