Cet article décrit comment formater une date sur un axe ggplot en utilisant les fonctions R scale_x_date() et scale_y_date().
Dans ce tutoriel graphique R, vous apprendrez à:
- Modifier les dates sur les axes en utilisant différentes combinaisons de jours, de semaines, de mois, d’années
- Modifier les limites de l’axe des dates.
Sommaire:
Livre Apparenté
GGPLOT2 - L’Essentiel pour une Visualisation Magnifique des Données dans RFonctions clés de ggplot2
scale_x_date(date_labels, limits)
etscale_y_date(date_labels, limits)
: Format des axes de datescale_x_datetime(date-labels, limits)
etscale_y_datetime(date_labels, limites)
: Formater la date et l’heure sur l’axe
Données des séries chronologiques
Créer des jeux de données de séries chronologiques:
set.seed(1234)
last_month <- Sys.Date() - 0:29
df <- data.frame(
date = last_month,
price = runif(30)
)
head(df)
## date price
## 1 2019-11-19 0.114
## 2 2019-11-18 0.622
## 3 2019-11-17 0.609
## 4 2019-11-16 0.623
## 5 2019-11-15 0.861
## 6 2019-11-14 0.640
Créer un ggplot simple avec des dates sur l’axe
library(ggplot2)
p <- ggplot(data=df, aes(x = date, y = price)) +
geom_line()
p
Format des dates sur l’axe : scale_x_date
Pour formater la date sur les axes, vous pouvez utiliser différentes combinaisons de jours, semaines, mois et années:
- Nom du jour de la semaine : utilisez
%a
et%A
pour le nom abrégé et le nom complet du jour de la semaine, respectivement - Nom du mois : utilisez
%b
et%B
pour le nom abrégé et le nom complet du mois, respectivement %d
: jour du mois comme nombre décimal%U
: semaine de l’année comme nombre décimal (00-53)%Y
: Année avec siècle.- Voir plus d’options dans la documentation de la fonction
?strptime
# Format : mois/jour
p + scale_x_date(date_labels = "%b/%d")
# Format : Semaine
p + scale_x_date(date_labels = "%U")
# Mois seulement
p + scale_x_date(date_labels = "%B")+
theme(axis.text.x = element_text(angle=45, hjust = 1))
Définir les limites des axes
Utiliser le jeu de données des séries chronologiques economics
[en ggplot2]:
data("economics")
# Graphe basique avec des dates sur les axes
p <- ggplot(data = economics, aes(x = date, y = psavert)) +
geom_line(color = "steelblue")
p
# Définir les limites de l'axe c(min, max)
min <- as.Date("2002-1-1")
max <- NA
p + scale_x_date(limits = c(min, max))
Conclusion
Pour changer le format des étiquettes des axes, lisez d’abord la page d’aide de la fonction R strptime()
pour voir les formats de date disponible.
Ensuite, utilisez l’exemple suivant de code R:
p + scale_x_date(date_labels = "%b/%d")
Version: English
No Comments