plot étiquette axe X

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Lelandais ludovic
Messages : 11
Enregistré le : 20 Fév 2019, 11:11

plot étiquette axe X

Messagepar Lelandais ludovic » 10 Avr 2019, 10:58

Bonjour,

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

Eric Casellas
Messages : 767
Enregistré le : 06 Jan 2009, 14:59

Re: plot étiquette axe X

Messagepar Eric Casellas » 10 Avr 2019, 11:50

Bonjour,

Tu peut passer par la fonction axis pour définir tes axes.
Par ex en reprenant ton exemple :

Code : Tout sélectionner

plot(M$x,typ="l",col="red",xlab="heure", xaxt = "n")
axis(side = 1, at = 0:287, labels = rep(0:23, 12))


Eric
Eric

Lelandais ludovic
Messages : 11
Enregistré le : 20 Fév 2019, 11:11

Re: plot étiquette axe X

Messagepar Lelandais ludovic » 10 Avr 2019, 12:40

Bonjour,
un grand merci cela fonctionne c'est super.

Bonne journée.

Ludovic


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité