La visualisation des données est essentielle pour comprendre des patterns, des tendances et des relations dans vos données. ggplot2 est l’un des outils les plus puissants et flexibles pour la visualisation en R. Il fait partie du tidyverse et est basé sur le concept de la grammaire des graphiques, ce qui permet de créer des visualisations complexes en combinant différentes couches de données et de styles.
Dans ce chapitre, nous explorerons les bases de ggplot2 et comment personnaliser et créer des graphiques plus avancés.
Introduction à ggplot2
Qu’est-ce que ggplot2 ?
ggplot2 est un package R qui permet de créer des graphiques de haute qualité. Son approche repose sur la Grammaire des Graphiques (Grammar of Graphics), qui divise un graphique en plusieurs composants : les données, les esthétiques (couleurs, tailles, formes), les géométries (types de graphiques), les facettes, et plus encore.
Installation et chargement de ggplot2
Si vous n’avez pas encore installé ggplot2, vous pouvez le faire avec la commande suivante depuis la console dans RStudio :
# Installer le package (si nécessaire)
install.packages("ggplot2")
# Charger le package
library(ggplot2)
La philosophie de ggplot2
Dans ggplot2, chaque graphique commence par un appel à la fonction ggplot()
, qui crée une base vide, puis est complétée par des couches (layers) comme :
- Les données à visualiser.
- Les esthétiques (variables mappées à des aspects visuels).
- Les géométries (formes des graphiques, comme points, lignes, barres).
- Les thèmes et les éléments de personnalisation.
Un exemple de base de l’utilisation de ggplot2 serait :
ggplot(data, aes(x = variable1, y = variable2)) +
geom_point()
Ce code génère un graphique de points où variable1 est sur l’axe des x, et variable2 sur l’axe des y.
Création de graphiques de base
Graphiques de points (Scatter plots)
Le scatter plot est un graphique de points utilisé pour visualiser la relation entre deux variables numériques. Voici un exemple simple avec ggplot2 :
# Créer un data frame d'exemple
df <- data.frame(x = rnorm(100), y = rnorm(100))
# Créer un scatter plot avec ggplot2
ggplot(df, aes(x = x, y = y)) +
geom_point()
Graphiques en barres (Bar plots)
Les graphes en barres permettent de comparer des valeurs catégoriques. Vous pouvez les créer avec la fonction geom_bar()
:
# Exemple de données
df_bar <- data.frame(
categorie = c("A", "B", "C", "D"),
valeurs = c(10, 15, 7, 20)
)
# Créer un bar plot
ggplot(df_bar, aes(x = categorie, y = valeurs)) +
geom_bar(stat = "identity")
Histogrammes
Un histogramme montre la distribution d’une variable continue en la regroupant dans des intervalles (ou bins).
# Créer un histogramme pour une variable aléatoire
ggplot(df, aes(x = x)) +
geom_histogram(bins = 30)
Graphiques en ligne (Line plots)
Les graphes en ligne sont souvent utilisés pour visualiser des données continues sur le temps ou une autre dimension ordonnée.
# Exemple de données
df_line <- data.frame(
x = 1:100,
y = cumsum(rnorm(100))
)
# Créer un line plot
ggplot(df_line, aes(x = x, y = y)) +
geom_line()
Personnalisation des graphiques
Une fois que vous avez créé un graphique de base, ggplot2 vous permet de le personnaliser pour améliorer la lisibilité et l'esthétique. Voici quelques techniques courantes de personnalisation.
Ajouter des titres et étiquettes
ggplot(df, aes(x = x, y = y)) +
geom_point() +
labs(
title = "Graphique de dispersion",
x = "Axe des X",
y = "Axe des Y"
)
Changer les couleurs et les formes
ggplot(df, aes(x = x, y = y, color = y, shape = y > 0)) +
geom_point()
Thèmes et arrière-plans
# Utiliser un thème prédéfini
ggplot(df, aes(x = x, y = y)) +
geom_point() +
theme_minimal()
Graphiques avancés
Graphiques à facettes (Faceting)
ggplot(df, aes(x = x, y = y)) +
geom_point() +
facet_wrap(~ categ_variable)
5.4.2 Graphiques combinés
ggplot(df, aes(x = x)) +
geom_histogram(aes(y = ..density..), bins = 30) +
geom_density(color = "blue")
Ajout de lignes de tendance
ggplot(df, aes(x = x, y = y)) +
geom_point() +
geom_smooth(method = "lm")
Graphiques interactifs
library(plotly)
# Transformer un graphique ggplot2 en un graphique interactif
p <- ggplot(df, aes(x = x, y = y)) +
geom_point()
ggplotly(p)
Ce code crée un graphique interactif où les points peuvent être survolés pour afficher plus d'informations.
Avec ggplot2, vous pouvez créer une grande variété de graphiques à la fois simples et complexes, tout en maintenant un haut degré de personnalisation. Maîtriser cet outil vous permettra de mieux explorer, comprendre, et communiquer vos données à travers des visualisations percutantes.
Chapitre 6 : Condition, boucle et fonction →
Fondateur de l’agence Créa-troyes.
Intervenant en Freelance.
Contactez-moi