5.2 Les principes de bases du ggplot

Le package ggplot2 repose sur les principes de la grammaire des graphiques. L’idée principale est de concevoir un graphique comme une succession de couches (layer) qui constituent la grammaire de la syntaxe.

Les principales couches de la grammaire sont :

  • Le jeu de données qui contient les variables que l’on veut représenter. Cela se fait avec la fonction ggplot.

  • La ou les variables à représenter (x et/ou y) et les éléments esthétiques tels que couleur (color), taille (size) et remplissage (fill) des objets à représenter. Cela se fait avec la fonction aes (abbréviation d’aesthetic).

  • Le type de représentation graphique souhaitée (nuage de points, diagramme en barres, histogramme, etc.). Cela se fait avec les fonctions geom_xxx, ou xxx représente le type souhaité (ex., point, bar, histogram, boxplot, etc.).

Il y a deux options (formats) pour écrire le code:

  1. ggplot(Donnees) + aes(x = varX, y = varY) + geom_xxx()

  2. qplot(x = varX, y = varY, data = Donnees, geom = 'xxx')

Dans l’option 1, Donnees est le nom du data frame qui contient les vriables varX et varY. Le symbole + permet d’indiquer quelles sont les différentes couches qui seront ajoutées au fur et à mesure. C’est la façon la plus transparente pour écrire le code. C’est aussi elle qui permet un contrôle plus fin de tous les paramètres graphiques.

qplot est la fonction de base qu’offre la librairie ggplot2 pour le tracé de graphiques simples rapidement et avec le minimum de complexité. Elle est pour ggplot2 ce que la fonction plot est pour graphics (la librairie graphique de base de R).

Par la suite, nous allons réaliser une série de graphiques en nous focalisant principalement sur l’approche 1.

Nous allons commencer par réaliser un diagramme à point (scatter plot) en utilisant geom_point. Voici le code.

Le code ci-dessus est composé de trois couches qui se superposent pour donner la figure finale. Pour voir cela, tournez le code suivant ligne par ligne.

Voici d’autres façons d’écrire le code.

Pour améliorer la lisibilité du code, il est conseillé d’utiliser le dernier format; à savoir commencer une nouvelle ligne à l’ajout de chaque couche. Dans ce cas, + doit figurer à la fin de la ligne et non au début.

Aussi, vous pouvez sauvegarder une ou plusieurs couches du ggplot dans un objet pour une utilisation ultérieure comme dans l’exemple suivant.

Ainsi, vous pouvez commencer par un graphique simple et ajouter des éléments (aes, geoms, …) au fur et à mesure jusqu’à obtenir le output désiré. Voici deux exemples.

Suivant le même principe, vous pouvez ajouter ou modifier les titres, légendes … à l’aide de la fonction labs.