Géographie

Une seule application géographique (ci-dessous) est actuellement disponible sur ce site à l'exception de la cartographie.

Cette application est la réalisation de pyramide des âges.

Pyramide des âge avec le logiciel R (exemple)

Pyramide des âges avec le logiciel R

Voici une pyramide des âges réalisée avec le logiciel R

1. Les données à remplacer par les siennes

ages = c("0-14","15-29","30-44","45-59","60-74","75-89","90-") # catégories d'âges

males = c(707,684,620,834,692,351,16)

females = c(664,702,739,959,745,593,49)

# Les deux lignes ci-dessous (optionnelles) permettent de convertir le nombre d'habitants en %

males = males/sum(males)*100

females = females/sum(females)*100

2. Tracer la pyramide

# Attribuer un nom aux tranches d'âges

names(males) <- ages

install.packages("pyramid") w# librairie nécessaire pour pouvoir tracer la pyramide

library(pyramid)

# Affichage

pyramids(Left=males,Llab="Hommes",Right=females,Rlab="Femmes",Laxis=c(0,5,10,15,20,25),main="Pyramide des âges de \n Coulounieix-Chamiers",Ldens=5, Rdens=10,Lcol="blue", Rcol = "red")

# Avec :

# Left : données de gauche et Right : données de droite

# Rlab : intitulé de l'axe de droite et Rlab pour celui de gauche

# Rcol et Lcol pour la couleur des barres

# Rdens et Ldens pour avoir des hachures plus ou moins dense (Rdens = 0 si on ne veut pas de hachures)

# Laxis : découpe de l'axe des x et nombre de graduations

# main : le titre - un \n permet d'imposer un retour à la ligne

# GL=FALSE permet de ne pas afficher de traits verticaux...

3. Tracer les étiquettes (annotations) grâce à la fonction maison nommée labelling

# Coller la fonction labelling : ls nb de mâles et femelles doivent être en %

labelling = function(males, females, decimales = 0, left = -1.1, right = 1.1, cex=0.7) {

percent = paste(round(males[1],decimales)," %")

positiony = 1/length(males)-1/(length(males)*2)

positionx = left

nb = 0:(length(males)-2)

for (i in seq(along=nb)) {

temp = paste(round(males[i+1],decimales)," %")

percent = c(percent,temp)

positionx = c(positionx,left)

positiony = c(positiony,((i*2+1)/(length(males)*2)))

}

nb = 1:(length(males))

for (i in seq(along=nb)) {

temp = paste(round(females[i],decimales)," %")

percent = c(percent,temp)

positionx = c(positionx,right)

positiony = c(positiony,((i*2-1)/(length(males)*2)))

}

text(positionx,positiony,percent,cex=cex)

}

# Tracer les étiquettes

labelling(males, females, 1, -1.15, 1.15)

Mise à jour de la page juin 2018