Accueil > R - Graphisme > Pyramide des âges & ggplot2
Pyramide des âges & ggplot2
mercredi 15 décembre 2021, par
Un barplot un peu particulier bien pratique pour comparer visuellement deux populations.

Partons d’un data.frame nommé [*cas*] contenant au moins les deux rubriques :
- [*age*] numérique
- [*sexe*] factorielle à deux niveaux "[**H*]" & "[**F*]"
Et traçons la pyramide des âges soit un barplot horizontal distinguant les hommes des femmes. Tout d’abord créons une variable factorielle contenant les âges classés par dizaines que nous appellerons [*cut.age*] :
cas$cut.age <- cut(cas$age,seq(0,100,10))
Puis commençons à tracer notre graphique avec les dames en rose & les messieurs en bleu (quelle originalité !). Comme le graphique est pivoté à l’horizontale les axes sont inversés & les réglages de l’axe de y sont sur l’ordonnée.
- age = age,
- sexe = sexe,
- ff = "F",
- mm = "M",
- titre = "Pyramide des âges") {
- ggplot(dfx) +
- aes(x = {{age}}, fill = {{sexe}}) +
- aes(y = ..count.. * (-1))) +
- coord_flip() +
- theme_light() +
- theme(
- plot.title = element_text(size = 16, face = "bold"),
- axis.title.x = element_blank(),
- axis.title.y = element_blank(),
- axis.text.x = element_blank(),
- axis.text.y = element_text(size = 12, face = "bold"),
- legend.position = "bottom",
- legend.title = element_blank(),
- )
- }
Volontairement je n’ai pas modifier le graphisme de base en jouant sur les polices, les traits etc. pour garder un code simple.
Cette fonction fait partie du package baseph <https://github.com/philippemichel/baseph> .