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 :

[ggplot2] Ajouter une légende


Sujet :

R

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 606
    Par défaut [ggplot2] Ajouter une légende
    Je voudrais savoir comment ajouter une légende dans un plot créé à partir du package ggplot2.
    J'ai un plot regroupant deux jeux données a (éclaté en a1, a2) et b (éclaté en b1, b2). Je voudrais ajouté comme légende:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    couleur bleu : A
    couleur rouge : B
    # Exemple

    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
     
    library(ggplot2)
     
    a1 <- sample(1:50, 10, replace = F)
    a2 <- sample(1:50, 10, replace = F)
    b1 <- sample(1:50, 10, replace = F)
    b2 <- sample(1:50, 10, replace = F)
     
     
    mergeData(a1 = a1, a2 = a2, b1 = b1, b2 = b2)
     
    mergeData <- function(a1, a2, b1, b2)
    {
     
      A = data.frame(p1=a1, p2=a2)
      B  = data.frame(p1=b1, p2=b2)
     
      p <- ggplot()+
        geom_point(data = A, aes(x = p1, y = p2), color='blue') + 
        geom_point(data = B, aes(x = p1, y = p2), colour='red') +
        labs(title = "", x = "", y="")
     
      return(p)
    }

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 606
    Par défaut
    Réponse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      p <- ggplot()+
        geom_point(data = A, aes(x = p1, y = p2, color = "A")) + # Mettre "color" dans la fonction "aes"
        geom_point(data = B, aes(x = p1, y = p2, color = "B")) +
        labs(title = "", x = "", y="") +
        # Ajouter ceci
        scale_color_manual(name = "",
                           values = c("A" = "blue", "B" = "red")) +
        theme(legend.position = "top")

  3. #3
    Membre chevronné
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Par défaut
    Bonjour,

    La librairie ggplot2 s’accommode plus facilement de tableaux longs. Tu peux faire la même chose que ce que tu as fait là en mettant toutes tes données dans un même tableau et en ayant une colonne qui te permet de différencier les groupes.
    Quand le nombre de groupe augmente s'est plus efficace dans l'écriture et ça permet par exemple de faire du multipanel avec les fonctions "facet_xxx".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    tab <- rbind(A, B)
    tab$gr <- factor(rep(LETTERS[1:2], c(nrow(A), nrow(B))))
    ggplot(tab, aes(p1, p2, color = gr)) + 
      geom_point() + 
      scale_color_manual(name = "", values = c("A" = "blue", "B" = "red")) + 
      theme(legend.position = "top", title = element_blank()) # pour supprimer les titres, tu gagnes en place
    cdlt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ggplot2 ajouter une légende
    Par Puppet_Master dans le forum R
    Réponses: 4
    Dernier message: 12/05/2019, 19h07
  2. Réponses: 2
    Dernier message: 10/03/2015, 05h53
  3. Ajouter une légende à l'exemple Bode
    Par patchino dans le forum Qwt
    Réponses: 0
    Dernier message: 04/05/2012, 17h51
  4. ajouter une légende à un graphe
    Par ouinih dans le forum R
    Réponses: 2
    Dernier message: 19/07/2011, 10h27
  5. [ZF 1.10] Impossible d'ajouter une légende à un fieldset dans un sous formulaire
    Par psylo66 dans le forum Zend_Form
    Réponses: 1
    Dernier message: 23/09/2010, 18h14

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