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 :

graphique et relier les points


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 133
    Par défaut graphique et relier les points
    Bonjour, je ne suis pas expert en R, j'ai deux jeux de donnees , je voudrais creer deux histogrammes cote a cote sans les superposer, par la suite je veux relier les points des max de chaque histogramme pour chaque colonne.

    Je suis bloque, a la partie de mettre deux histogrammes dans la meme fenetre, et relier les points des max:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    > c = read.table("Cv2")
    > c[c>1000] = 1000
    > png("Cv2.png",height=600,width=800)
    > hist(c[c!=0],nclass = 20,xlab="Intron size", main="Intron size
    distribution for Cv2", col="grey")
    > dev.off()
     
    > a = read.table("Aster")
    > a[a>1000] = 1000
    > png("Aster.png",height=600,width=800)
    > hist(a[a!=0],nclass = 20,xlab="Intron size", main="Intron size
    distribution for Aster", col="grey")
    > dev.off()

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
     
     
    0
    94
    76
    81
    106
    99
    395
    454
    352
    451
    243
    254
    273
    366
    266
    605
    550
    303
    297
    1
    312
    275
    313
    212
    203
    241
    665
    354
    506
    314
    260
    0
    312
    246
    185
    298
    217
    255
    355
    279
    345
    249
    442
    214
    389
    392
    334
    393
    205
    669
    219
    406
    0
    469
    433
    558
    526
    217
    203
    330
    262
    196
    722
    494
    357
    393
    185
    233
    118
    196
    304
    532
    382
    233
    203
    229
    319
    585
    647
    332
    303
    326
    175
    110
    122
    86
    135
    238
    109
    0
    710
    286
    241
    302
    280
    569
    477
    157
    219
    267
    118
    243
    283
    Je mets des bouts de mes deux fichiers merci
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
     
     
    0
    353
    309
    101
    176
    237
    329
    462
    338
    380
    518
    304
    393
    308
    454
    342
    0
    437
    157
    205
    191
    237
    206
    204
    249
    169
    303
    267
    250
    252
    297
    247
    236
    151
    131
    165
    0
    535
    203
    197
    226
    107
    199
    209
    291
    186
    106
    139
    0
    80
    398
    133
    90
    123
    178
    182
    177
    213
    102
    79
    0
    151
    141
    77
    95
    113
    107
    128
    178
    144
    124
    158
    105
    113
    158
    125
    137
    446
    0
    264
    176
    299
    482
    313
    422
    344
    309
    283
    407
    209
    273
    172
    149
    185
    96
    94
    0
    229
    232
    226
    188
    252
    185
    245
    282
    322
    257
    206
    0
    448
    438
    361
    630
    612
    277
    327
    344
    296
    567
    232

  2. #2
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Par défaut
    Bonjour,

    Pour afficher deux graphiques dans une même fenêtre, il faut avoir recours à la commande : qui donne une répartition des graphes sur i lignes et j colonnes.

    Pour votre cas, cela donnerait par exemple quelquechose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    png("Monpng.png",height=600,width=800)
     
    par(mfrow=c(1,2))
     
    hist(c[c!=0],nclass = 20,xlab="Intron size", main="Intron size distribution for Cv2", col="grey")
    hist(a[a!=0],nclass = 20,xlab="Intron size", main="Intron size distribution for Aster", col="grey")
     
    dev.off()

    Ensuite, pour ce qui est de "relier les points des max", je ne suis pas sûre de bien comprendre ce que vous cherchez à faire : relier les points max de chacun des "bâtons" de l'histogramme?

    Bonne continuation


    Cordialement,

    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  3. #3
    Membre Expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Par défaut
    Bonjour,

    Si j'ai bien compris la question, il s'agit de faire une ligne entre deux graphiques (?).
    Dans ce cas, il faut faire un peu de gymnastique en faisant des aller-retours entre différents systèmes de coordonnées. Voici un petit exemple qui montre comment s'y prendre :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    par(mfrow=c(1, 2))
    
    ##################################################
    ## Premier histogramme :
    bp1 <- hist(rnorm(100))
    
    ## Calcul des coordonnées du premier point max
    ## dans le système naturel ("user") :
    y1 <- max(bp1$count)
    x1 <- mean(bp1$breaks[(0:1) + which.max(bp1$count)])
    
    ## abline(v=x1, col="red")                 # Pour vérification du bon calcul de x.
    
    ## Conversion en coordonnées standardisées pour
    ## la région intérieure (aux marges externes) :
    y1nic <- grconvertY(y1, "user", "nic")
    x1nic <- grconvertX(x1, "user", "nic")
    
    ##################################################
    ## Second histogramme :
    bp2 <- hist(rnorm(100), ylim=c(0, 50))
    
    ## Calcul des coordonnées du second point max
    ## dans le système naturel ("user") :
    y2 <- max(bp2$count)
    x2 <- mean(bp2$breaks[(0:1) + which.max(bp2$count)])
    
    ## Conversion des coordonnées standardisées du premier point
    ## vers le nouveau système de coordonnées "user" :
    y1user <- grconvertY(y1nic, "nic", "user")
    x1user <- grconvertX(x1nic, "nic", "user")
    
    ## On trace la ligne :
    lines(c(x1user, x2), c(y1user, y2),
          xpd=NA,                           # Pour pouvoir tracer en dehors de la zone graphique.
          col="red")

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 133
    Par défaut
    Bonjour,
    en fait ce que j'obtiens de mon premier programme ce sont les deux images qui sont en pièces jointes.
    Ce que je voudrais c'est tracer dans la même fenêtre graphique les points qui passent sur les max de chaque bar avec deux couleurs différentes pour Cv et aster pour avoir un visuel de l'évolution des deux dans la même fenêtre.

    Merci

  5. #5
    Membre Expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Par défaut
    Il faudrait être plus précis dans la description de ce que tu souhaites obtenir. Je ne comprends pas ce que veut dire
    Citation Envoyé par shadow19c Voir le message
    ...les points qui passent sur les max de chaque bar avec deux couleurs différentes...
    Est-ce la courbe qui se superpose à l'histogramme ? (Mais quel intérêt dans ce cas ?)

    Une petite image de démo construite à partir de tes deux exemples peut-être ? Ça pourrait nous aider...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 133
    Par défaut
    Bonjour, oui je mets en piece jointe une image que j'ai faite à la main.

    merci
    Images attachées Images attachées  

Discussions similaires

  1. Représentation graphique: comment relier les points entre eux?
    Par jordane746 dans le forum ODS et reporting
    Réponses: 0
    Dernier message: 01/06/2014, 23h54
  2. Relier les points d'une série graphique
    Par adelsunwind dans le forum IHM
    Réponses: 3
    Dernier message: 11/05/2013, 08h41
  3. Réponses: 5
    Dernier message: 11/10/2010, 16h06
  4. graphique 3D. relier certains points de ce graphe
    Par blaster9 dans le forum MATLAB
    Réponses: 3
    Dernier message: 19/08/2009, 10h46
  5. Utilisation de jfreechart + ne pas relier les points
    Par franfr57 dans le forum Documents
    Réponses: 1
    Dernier message: 10/07/2008, 09h41

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