j'étudie des série temporelle et plus particulièrement des cycles journaliers et souhaite tracer le cycle journalier pour chaque mois.
Je dispose d'un dataframe avec une colonne "mois" contenant 24 fois 1 puis 24 fois 2 12 fois, une colonne "heure" contenant de 0 à 23 12 fois et une colonne X. Voici un exemple de code reproductible illustrant ce que j'ai ( il n'y à que les 2 premier mois mais en réalité j'ai les 12 )
Code : Tout sélectionner
M <- matrix ( ncol = 3, nrow = 72)
M <- as.data.frame(M)
colnames(M) <- c("mois","heure","x")
M$mois <- c(rep(1,24),rep(2,24),rep(3,24))
M$heure <- rep(seq(0,23),3)
M$x <- rep(round(runif(24, min=40, max=60), digits=0),3)
plot(M$x,typ="l",col="red",xlab="heure")
abline(v=c(24,48))
je souhaiterai avoir un axe X de longueur 288 ( 12 * 24 ) avec des étiquettes sur cet axe entre 0 et 23 répéter 12 fois.
pour le moment je le plot avec l'équivalent de "plot(M$x)" avec en axe X de 1 à 72 avec les étiquettes "0 10 20 30 40... ".
j'ai essayé de faire plot(M$heure,M$x) ou bien plot(M$x~M$heure) seulement alors l'axe X est alors de longueur 24 avec les étiquettes "0 5 10 15 20".
j'ai essayer de transformer ma colonne heure en character avec
M$heure <- as.character(M$heure)
puis de reploter avec plot(M$heure,M$x) ou bien plot(M$x~M$heure) mais cela ne change rien. *
Avez vous des idées de comment puis je modifier les étiquettes de l'axe X ?
bonne journée,
Cordialement.
Ludovic Lelandais