Graphique en fonction du temps avec le logiciel R (exemple)
Courbe exprimée en fonction du temps
Courbe exprimée en fonction du temps
On peut réaliser des graphiques qui s'exprime en fonction du temps (heure, mois, date) avec le logiciel R. On parle de données calendaires qui nécessitent un traitement particulier notamment pour calculer une différence (intervalle de temps) entre deux dates par exemple.
1. Charger les données à mettre en X et Y
dates_brutes =c("21/04/2017 09:30","25/04/2017 08:15","25/04/2017 19:30","03/05/2017 17:00","17/06/2017 18:00","30/06/2017 18:00")
dates = strptime(dates_brutes, "%d/%m/%Y %R") # Pour accéder à d'autres formats de temps : cliquer ici.
y = c(1,2,10,8,7,6) # données d'ordonnées
2. Préparer les limites des axes (exprimées aussi par des dates)
# Conversion des données exprimant les limites de l'axes des x qui ira dans l'exemple d'avril à juillet.
limitations = c(as.POSIXct(strptime("01/04/2017","%d/%m/%Y" )),as.POSIXct(strptime("01/07/2017","%d/%m/%Y")))
3. Tracer le graphique
plot(dates,y,axes=F,pch=16,type="o",xlim=limitations,cex=3,col="orange",ylab="Taille (cm)",xlab="Temps (mois)")
4. Ajouter les axes mis en forme
# Abscisses exprimant dans ses graduations uniquement le noms des mois
axis.POSIXct(1, at=seq(from=strptime("01/03/2017","%d/%m/%Y" ), to=strptime("25/08/2017","%d/%m/%Y" ), by="month"), format="%b", las=2) # force indiquant la date de chaque jour
# Ordonnées
axis(2,c(0:10))
5. Calculer et afficher une différence, un intervalle de temps entre deux dates
temps_duree = as.numeric(difftime(strptime(dates_brutes[length(dates_brutes)], "%d/%m/%Y %R") , strptime(dates_brutes[1], "%d/%m/%Y %R"),units="mins"))/60/24
cat("La différence de temps sur l'expérience est de :",round(temps_duree,0), " jours.")
text(as.POSIXct(strptime("01/06/2017","%d/%m/%Y" )),9,paste("Expérience sur : ",round(temps_duree,0)," jours."))
Mise à jour de la page février 2019