CommencerCommencer gratuitement

Exemple d’échelle par intervalles

Revenons à votre carte de la proportion de population âgée de 18 à 24 ans :

tm_shape(prop_by_age) +
  tm_raster("age_18_24", palette = vir) +
  tm_legend(position = c("right", "bottom"))

Votre carte posait problème car la plupart des proportions tombaient dans la classe de couleur la plus basse et, par conséquent, vous ne voyiez que peu de détails. Une façon de résoudre ce problème est la suivante : au lieu de découper l’étendue de votre variable en classes d’amplitude égale, vous pouvez la découper en catégories plus pertinentes.

Commençons par reproduire les classes par défaut de tmap : cinq catégories, définies avec des coupures "pretty". Vous pourrez ensuite essayer quelques autres méthodes pour découper une variable en intervalles. Utiliser directement la fonction classIntervals() vous donne un retour rapide sur les coupures obtenues, mais la meilleure façon d’évaluer un jeu de coupures reste de les visualiser.

(Entre parenthèses, une autre approche consiste à chercher une transformation de la variable pour que des classes d’amplitude égale sur l’échelle transformée soient plus utiles.)

Cet exercice fait partie du cours

Visualiser des données géospatiales avec R

Afficher le cours

Instructions

  • Appelez classIntervals() sur values(prop_by_age[["age_18_24"]]) avec n = 5 et style = "pretty". Vous voyez le problème ? 130 770 de vos cellules de grille se retrouvent dans la première classe.
  • Appelez maintenant classIntervals() comme ci‑dessus, mais avec style = "quantile".
  • Utilisez ces classes équipropotionnelles en passant les arguments n et style dans la couche tm_raster() de votre carte.
  • Créez un histogramme de values(prop_by_age[["age_18_24"]]). Où placeriez‑vous les coupures ?
  • Créez vos propres coupures dans tm_raster() en spécifiant breaks = c(0.025, 0.05, 0.1, 0.2, 0.25, 0.3, 1).
  • Enregistrez votre carte finale au format leaflet avec tmap_save() et le filename "prop_18-24.html".

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

mag <- viridisLite::magma(7)

library(classInt)

# Create 5 "pretty" breaks with classIntervals()



# Create 5 "quantile" breaks with classIntervals()



# Use 5 "quantile" breaks in tm_raster()
tm_shape(prop_by_age) +
  tm_raster("age_18_24", palette = mag) +
  tm_legend(position = c("right", "bottom"))

# Create histogram of proportions


# Use fixed breaks in tm_raster()
tm_shape(prop_by_age) +
  tm_raster("age_18_24", palette = mag,
    style = "fixed")

# Save your plot to "prop_18-24.html"
Modifier et exécuter le code