IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

comment faire un plot juste avec quelques données de ma série temporelle


Sujet :

R

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 40
    Points : 32
    Points
    32
    Par défaut comment faire un plot juste avec quelques données de ma série temporelle
    Bonjour,
    je veux tracer un graphe température en fonction des dates mais juste pour quelques données de ma base de données.

    Exemple : j'ai ces données

    Dates Température salinité
    2012-01-01 25 35
    2012-01-02 27 36
    2012-01-03 24 35
    2012-01-04 22 34
    2012-01-05 33 37
    2012-01-06 35 34
    2012-01-07 31 35
    2012-01-08 29 38
    2012-01-09 27 34

    1. je veux tracer un plot : température =f(Dates) mais juste de 2012-01-04 à 2012-01-08.

    2. ainsi je veux ajouter un deuxième paramètre "salinité" : c'est-à-dire deux ordonnées (différentes échelles : température (à gauche), salinité(à droite)) en fonction de "Dates" (toujours de 2012-01-04 à 2012-01-08.).

    Je suis débutante, merci d'avance pour votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 208
    Points : 461
    Points
    461
    Par défaut
    Hello,
    Quelque chose dans ce goût là devrait marcher :
    (En gros, ça consiste à superposer deux graphes avec l'axe des ordonnées du deuxième graphe à droite)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    plot.new()
    plot.window(xlim=c(min(date),max(date)),ylim=c(min(température),max(température)))
     
    lines(température~date)
    axis(1)
    axis(2)
     
    plot.window(xlim=c(min(date),max(date)),ylim=c(min(salinité),max(salinité)))
     
    lines(salinité~date)
    axis(4)
    box()



    edit:
    mais juste de 2012-01-04 à 2012-01-08
    Pour ça, il suffit de filtrer ta base là où tes dates sont dans ce range:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    base<-base[base$date>="2012-01-04 " & base$date<="2012-01-08",]

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 40
    Points : 32
    Points
    32
    Par défaut problème d'affichage des dates d'abscisse
    Merci beaucoup pour votre réponse qui m'a aidé à avancer dans mon problème.

    En fait, j'ai continué à chercher durant toute la journée, mais j'arrive à un point où je me bloque, je vous explique :
    En fait, mes vraies données pour la "Dates" sont de format = "%Y-%m-%d %H:%M:%S"

    Dates température salinité
    2012-01-01 01:01:00 25 35
    2012-01-01 12:15:00 27 36
    2012-01-02 01:12:00 24 35
    2012-01-02 01:17:00 22 34
    2012-01-03 01:11:00 33 37
    2012-01-03 01:18:00 35 34
    2012-01-03 03:02:00 31 35
    2012-01-03 07:14:00 29 38
    2012-01-04 01:03:00 27 34

    Donc, je veux faire un graph : 2 ordonnées (Temp,Sal, un à gauche et l'autre à droite) en fonction de la dates.

    J'applique ce script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    TAB0=read.table(file = "mes données.txt", sep=";", header = TRUE,stringsAsFactors=FALSE) 
     
    TAB0$Dates=strptime(TAB0$Dates, format="%Y-%m-%d %H:%M") 
     
    x=TAB0$Dates 
    y1=TAB0$température 
    y2=TAB0$salinité 
     
    ylim=c(min(TAB0$température),max(TAB0$température)) 
    plot(x, y1, col="blue", ylim=ylim,axes=FALSE, xlab="Dates", ylab="") 
     
    axis(1); 
     
    ylim=c(min(TAB0$salinité),max(TAB0$salinité)) 
    axis(2, col="blue") 
    par(new=TRUE) 
    plot(x, y2, col="red", ylim=ylim,axes=FALSE, ylab="") 
    axis(4, col="red")
    Je trouve ce que je cherche mais les dates de l'abscisse sont affichées comme des chiffres "entier" exp: "1325400000", moi je veux qu'elles soient affichées sous le format : "%Y-%m-%d %H:%M:%S" ou même "%Y-%m-%d".

    Merci une autre fois pour votre précieuse aide.

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/02/2009, 10h45
  2. Réponses: 7
    Dernier message: 14/12/2007, 09h02
  3. Réponses: 10
    Dernier message: 13/08/2007, 16h12
  4. Réponses: 1
    Dernier message: 10/06/2007, 07h22
  5. Réponses: 3
    Dernier message: 29/04/2007, 17h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo