Pour plus d'informations sur ggplot2 :

Chargement des données

Notes : une bonne partie de cette section est tirée du wiki de ggplot2 :

https://github.com/hadley/ggplot2/wiki/plotting-polygon-shapefiles

On charge d'abord les bibliothèques nécessaires :

library(rgrs)
require(rgdal)
require(maptools)
require(ggplot2)
gpclibPermit()

Pour simplifier on utilise le fond de carte lyon inclus avec rgrs :

data(lyon)

On doit avant toute chose transformer l'objet lyon en un ensmeble de points utilisables par ggplot2. Pour cela on utilise le code suivant :

lyon@data$id <- rownames(lyon@data)
lyon.points <- fortify.SpatialPolygonsDataFrame(lyon, region="id")

Carte de base

On peut maintenant stocker la carte de base, représentant nos polygones d'origine dans un graphique de type ggplot :

lyon.map <-  ggplot() +
  geom_polygon(data=lyon.points, aes(long, lat, group=group), fill=NA, colour="black") +
  coord_map()

On peut afficher cette carte, la personnaliser, etc.

lyon.map

http://alea.fr.eu.org/public/_____________ggplot2_maps_1.png

Représentations de données

Une fois qu'on a la carte de base, on peut très facilement ajouter des données en utilisant les fonctionnalités de ggplot2.

Ici on génère aléatoirement une variable associée à des coordonnées de type latitude/longitude :

df <- data.frame(long=runif(10,4.78,4.88), lat=runif(10,45.72,45.8), val=runif(10,1,10))

Et on peut représenter ces données en ajoutant un geom_point à la carte de base :

lyon.map + geom_point(data=df, aes(long, lat, size=val))

http://alea.fr.eu.org/public/_____________ggplot2_maps_2.png

Et on peut évidemment personnaliser l'apparence de tout cela :

lyon.map + geom_point(data=df, aes(long, lat, size=val), fill="red", colour="white", shape=21) + scale_size(to=c(0,40),"Variable")

http://alea.fr.eu.org/public/_____________ggplot2_maps_3.png