Créer une carte choroplète avec R

Le langage de programmation R peut être utile pour réaliser rapidement des proto de cartes et visualiser facilement des données.

Créer une carte choroplète se fait ainsi assez simplement et on va le voir tout de suite. Premier conseil si vous débutez avec R, je vous conseille d’installer RStudio, un IDE spécialement conçu pour R, bien fait et pratique.

Tout d’abord, les ingrédients pour réaliser notre recette :

Voici le résultat :

choropleth_map

Et voici le code qui permet de réaliser cette carte. On va détailler un peu chaque ligne juste après.

library(ggplot2)
library(ggmap)
library(gpclib)
library(maptools)
gpclibPermit()
mediator <- read.csv("mediator.csv", sep=";")
map <- readShapeSpatial("/media/julien/Fichiers/ETALAB/data/tutoR/chrolo/departements.shp")
map <- fortify (map, region="code_insee")
ggplot() +
 geom_map(data=mediator, aes(map_id=numero, fill=effectif), color="#999999", size=0.1, map=map) +
 coord_map() +
 expand_limits(x=map$long, y=map$lat) +
 scale_fill_gradient(name="Effectif", limits=c(300,30000), breaks=c(300,1300,2300,7300,30000), low="LightYellow", high="Firebrick", guide="legend") +
 theme_nothing(legend = TRUE)

Maintenant voyons ce que l’on a dans le détail. On vient tout d’abord appeler les librairies essentielles.

Puis on vient lire le csv de nos effectifs. On continue avec la carte en lisant notre fichier shapefile puis en dessinant les contours de nos départements selon le code_insee.

On vient ensuite construire notre carte à proprement parler avec la librairie ggplot2 ainsi que ggmap. On renseigne les variables avec les noms des colonnes de notre csv : numero qui correspond au code INSEE et qui permet de joindre le shp et le csv (les deux fichiers possèdent donc une colonne commune) et effectif, la valeur qui sera cartographiée.

Dernière ligne importante, la création du gradiant de notre carte avec scale_fill_gradient. On définit les limites, les différentes gradations, la couleur pour notre valeur la plus basse, la couleur pour notre valeur la plus haute et hop le tour est joué !

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s