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
Instructions
- Appelez
classIntervals()survalues(prop_by_age[["age_18_24"]])avecn = 5etstyle = "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 avecstyle = "quantile". - Utilisez ces classes équipropotionnelles en passant les arguments
netstyledans la couchetm_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écifiantbreaks = 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 lefilename"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"