CommencerCommencer gratuitement

Un exemple qualitatif

Pour finir, examinons 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 associent ces nombres à des catégories (comme pour les facteurs).

Le choix des couleurs pour des variables catégorielles dépend beaucoup de l’objectif du graphique. Lorsque vous souhaitez que les catégories aient un poids visuel similaire — c’est‑à‑dire qu’aucune ne se démarque davantage — une approche consiste à utiliser des couleurs de teintes variées, mais de chroma (mesure de la vivacité) et de luminosité é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 cherchent l’équilibre entre poids visuel égal et facilité d’identification des couleurs. Les schémas "paired" et "accent" s’en écartent toutefois en proposant respectivement des paires de couleurs de luminosité différente et une palette avec des couleurs plus intenses pour mettre en avant certaines catégories.

Pour ces données en particulier, il peut être plus pertinent de choisir des couleurs intuitives, comme le vert pour la forêt et le bleu pour l’eau. Quelle que soit l’option la plus adaptée, définir de nouvelles couleurs consiste simplement à passer un vecteur de couleurs via l’argument palette dans la couche tm_*** correspondante.

Cet exercice fait partie du cours

Visualiser des données géospatiales avec R

Afficher le cours

Instructions

  • 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 tracez à nouveau 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 cet exemple de code.

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