Mise en forme des graphiques ggplot2

 

Lorsqu’on commence à employer le package ggplot2 pour visualiser des données, on a rapidement besoin de réaliser quelques mises en forme, comme par exemple modifier les couleurs, ajouter un titre, ajouter du texte, gérer la légende, assembler plusieurs graphiques, ou encore de les exporter.
Dans cet article, je vous propose d’explorer ces éléments.

 

1. Mise en forme par la modification des couleurs

1.1 Couleurs des points et des lignes

La gestion des couleurs se fait en deux étapes :

  1. Définition de la variable sur laquelle les couleurs vont être appliquées. Cela se réalise dans la couche canevas (la première), à l’intérieur de la fonction aes(), en employant l’argument colour.
  2. Définition des couleurs elle mêmes, à l’aide de la fonction scale_colour_manual()

Dans l’exemple ci-dessous, une couleur est appliquée en fonction de la variable Species :

 

scatterplot couleur par défaut

 

Pour modifier les couleurs par défaut, on utilisera la couche scale_colour_manual()

définition manuelle des couleurs

 

 

Vous pouvez préciser les couleurs en utilisant le code hexadécimal fournit par l’addin colour picker. Pour plus d’informations, consultez mon article : “Choisissez et modifiez très facilement les couleurs de vos graphs R avec Colour Picker“.

Si vous souhaitez appliquer une couleur en fonction d’une variable numérique, vous pouvez employer un gradient de couleurs, à l’aide de la couche, scale_coulour_gradient2():

gradient de couleurs

Remarque : pour utiliser la fonction muted(), il est nécessaire de charger le package scales.

1.2 Des barres, des boites, des aires

Il s’agit du même principe, sauf que l’on emploiera l’argument fill dans la couche canevas, à la place de l’argument colour, et ensuite les fonctions scale_fill_manual() et scale_fill_gradient2(), à la place des fonctions scale_colour_manual() et scale_colour_gradient2()

 

boxplot avec les couleurs par défaut

 

 

 

modification des couleurs des boites

 

Pour plus d’informations sur la gestion des couleurs des graphiques réalisés avec ggplot2, vous pouvez consulter mon article : “Comment modifier les couleurs avec ggplot2 ?“.

 2. Mise en forme du titre

Nous pouvons facilement ajouter un titre, et un sous-titre en employant la fonction ggtitle().

Titre_par_défaut

 

La modification de l’alignement, de la taille et de la couleur du titre et du sous-titre se réalise dans une couche theme():

 

modification de la couleur du titre

 

Pour mettre une partie du texte à la ligne, il suffit d’introduire un \n dans la chaîne de caractères :

 

Mise à la ligne du titre

 

3. Mise en forme des axes

3.1 Etiquettes

Les étiquettes des axes peuvent être définies à l’aide des couches ylab et xlab :

 

3.2 Quadrillage

La taille du quadrillage peut être géré avec les couches scale_x_continuous() et scale_y_continuous() et l’argument breaks:

 

gestion de la taille du quadrillage

 

Les étiquettes du quadrillage peuvent également être modifiées à l’aide de l’argument labels des fonctions scale_y_continuous et scale_x_continuous. Par exemple, ci-dessous, pour exprimer la longueur des sépales en mm plutôt qu’en cm.

 

gestion des axes

 

Certaines fois, pour plus de visibilité, nous pouvons avoir besoin d’appliquer une rotation des étiquettes sur l’axe des x. Cela peut se gérer au niveau de la couche theme() et de l’élément axis.text.x:

 

Rotation des étiquettes de l'axe des x

 

Pour augmenter rapidement la taille de l’étiquette des axes et du quadrillage (très utile pour l’exportation des plots), vous pouvez employer la fonction element_text(size=rel(2)), comme ceci, par exemple :

 

 

 

 4. Mise en forme de la légende

4.1 Affichage

L‘affichage de la légende peut être géré dans les couches successives, ou de façon plus globale.
Dans le graphique ci-dessous, on peut voir, représenté dans la légende, une boite de boxplot et un point. Cela signifie que les deux couches sont concernées.

 

affichage de la légende par défaut

 

Nous allons pouvoir supprimer l’affichage de la légende à partir de la couche geom_jitter(), en utilisant l’argument show.legend=FALSE:

 

Idem avec la couche geom_boxplot().

 

Nous aurions pu obtenir le même résultat en utilisant la couche theme(legend.position="none") :

4.2 Position

Pour changer la position de la légende, nous pouvons employer les options left, right, bottom, top.

 

modification de la position de la légende

 

4.3 Titre de la légende

Le titre de la légende peut être modifié en utilisant la fonction labs(). L’argument à employer (color ou fill), dépend de ce qui est employé dans la première couche. Dans l’exemple ci-dessous, on utilisera color :

Modification du titre de la légende

 

 

Et dans ce second exemple, on utilisera fill:

 

Titre de la légende

5. Assembler plusieurs graphiques

Il existe plusieurs solutions pour assembler plusieurs graphiques.
Une fonction simple à employer, est la fonction grid.arrange() du package gridExtra:

 

Couplage de plusieurs graphiques

 

Pour des assemblages plus sophistiqués, vous pouvez employer la fonction plot_grid du package cowplot, ou encore le package patchwork:

Assemblage de plusieurs graphiques

 

 

Couplage de plusieurs graphiques

6. Ajouter du texte

Pour ajouter une étiquette sur un point (par exemple un numéro d’identification), nous pouvons employer la fonction geom_text(), en définissant la variable concernée dans la fonction aes().
Par exemple, si je créé, dans le jeu de données iris, une variable id avec le numéro de la ligne, je peux ensuite le faire figurer sur le graphique, comme ceci :

 

Utilisation de la couche geom_text

Pour ajouter du texte sur le graphique, nous pouvons employer la fonction annotate(). Par exemple, si je délimite le graphique en 2 zones :

 

 

Ajout de texte sur un graphique

7. Exportations

Une solution simple pour exporter un graphique, consiste à employer la fonction ggsave() du package ggplot2. Cette fonction permet alors de spécifier où le graphique doit être exporté, sous quel nom, quelle taille et avec quelle résolution(dpi).

Dans l’exemple ci dessous, je stock un graphique dans l’objet g3, puis je crée un dossier plot dans mon projet R, et enfin,  j’exporte le graphique g3, dans le dossier plot, sous le nom “mon_super_plot.jpg”, avec une dimension de 10 cm sur 10 cm et une résolution de 300 dpi.

 

 

Pour aller plus loin

  • Pour obtenir plus d’informations sur le package cowplot, vous pouvez consulter cette page.
  • Pour obtenir plus d’informations sur le package patchwork: vous pouvez consulter sa vignette.
  • Pour obtenir plus d’informations sur l’utilisation du package ggplot2, vous pouvez consulter le cookbook de Winston Chang.

 

J’espère que ce court post répondra à vos principaux besoins de mise en forme des graphiques. C’est à vous d’essayer, à présent !

Si cet article vous a plu ou vous a été utile, n’oubliez pas de le partager ! Vous pouvez également soutenir le blog par un don libre sur la page Tipee.

soutenez le blog

Image par Clker-Free-Vector-Images de Pixabay

 

Poursuivez votre lecture

Partager l'article
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

2 commentaires

  1. LÉVÊQUE Nathalie Répondre

    Merci Claire pour cet article à nouveau très limpide et qui va encore bien nous aider!
    Nathalie

  2. Alain Mana Répondre

    Bonjour Madame Vedova,

    Merci pour cet autre article très détaillé.
    J’ai énormément apprécié.

    Vivement un autre article.
    Excellente journée à vous.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *