Comment tracer une série chronologique dans R (avec exemples)
Souvent, vous souhaiterez peut-être tracer une série chronologique dans R pour visualiser comment les valeurs de la série chronologique évoluent au fil du temps.
Ce tutoriel explique comment le faire rapidement à l’aide de la bibliothèque de visualisation de données ggplot2 .
Tracé de série chronologique de base dans R
Supposons que nous ayons l’ensemble de données suivant dans R :
#create dataset df <- data.frame(date = as.Date("2021-01-01") - 0:99, sales = runif(100, 10, 500) + seq(50, 149)^2) #view first six rows head(df) date sales 1 2021-01-01 2845.506 2 2020-12-31 2837.849 3 2020-12-30 3115.517 4 2020-12-29 2847.161 5 2020-12-28 3374.619 6 2020-12-27 3182.005
Nous pouvons utiliser le code suivant pour créer un tracé de série chronologique de base pour cet ensemble de données à l’aide de ggplot2 :
library(ggplot2) #create time series plot p <- ggplot(df, aes(x=date, y=sales)) + geom_line() #display time series plot p
Formater les dates sur l’axe X
Nous pouvons utiliser la fonction scale_x_date() * pour formater les dates affichées le long de l’axe des x du tracé. Cette fonction prend les arguments suivants :
- %d : jour sous forme de nombre compris entre 0 et 31
- %a : jour de semaine abrégé (par exemple « mar »)
- %A : jour de la semaine non abrégé (par exemple « mardi »)
- %m : Mois entre 0 et 12
- %b : mois abrégé (par exemple « Jan »)
- %B : mois non abrégé (par exemple « janvier »)
- %y : année à 2 chiffres (par exemple « 21 »)
- %Y : année à 4 chiffres (par exemple « 2021 »)
- %W : Semaine de l’année entre 0 et 52
* Pour que cette fonction fonctionne, la variable de l’axe des x doit être une variable de date. Si ce n’est pas déjà le cas, vous pouvez rapidement le convertir en un seul en utilisant as.Date( variable_name) .
Le code suivant montre comment utiliser l’un de ces formats en pratique :
p + scale_x_date(date_labels = "%b %Y")
Vous pouvez également ajouter des pauses plus fréquentes (ou peu fréquentes) le long de l’axe des x en utilisant l’argument date_breaks . Par exemple, nous pourrions afficher les dates toutes les deux semaines le long de l’axe des x :
p + scale_x_date(date_breaks = "2 week")
Nous pouvons également facilement incliner les étiquettes de l’axe des X en utilisant l’argument suivant :
p + theme(axis.text.x=element_text(angle=50, hjust=1))
Enfin, nous pouvons modifier le thème, les étiquettes des axes et le titre pour rendre le tracé de la série chronologique plus attrayant visuellement :
p <- ggplot(df, aes(x=date, y=sales)) + geom_line(color="turquoise4") + theme_minimal() + labs(x="", y="Sales", title="Total Sales (Past 100 Days)") + theme(plot.title = element_text(hjust=0.5, size=20, face="bold")) p
Ressources additionnelles
Un guide complet des meilleurs thèmes ggplot2
Le guide complet des titres ggplot2
Comment créer des tracés côte à côte dans ggplot2