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 :

l’association des catégories aux couleurs


Sujet :

R

  1. #1
    Membre habitué
    Homme Profil pro
    Master Data Manager
    Inscrit en
    Février 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Master Data Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2017
    Messages : 113
    Points : 148
    Points
    148
    Par défaut l’association des catégories aux couleurs
    Bonjour.

    Comment forcer l’association des catégories aux couleurs ?

    Voici un script pour expliciter mon problème :
    Code R : 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
    # dataset avec les deux categories
    d <- data.frame(
        dt = rep(seq(as.Date("2020/12/22"), by = "day", length.out = 2)),
        nb = c(20,22,18,24),
        cat = rep(c('A','A','B','B'))
    )
     
    # dataset avec categorie A absente
    d2 <- data.frame(
        dt = rep(seq(as.Date("2020/12/22"), by = "day", length.out = 2)),
        nb = c(20,22,18,24),
        cat = rep(c('B','B'))
    )
     
    library(ggplot2)
    library(gridExtra)
     
    g1 <- ggplot(d) +
        aes(x = dt, y = nb, fill = cat) +
        geom_bar(stat = "identity")
     
    g2 <- ggplot(d2) +
        aes(x = dt, y = nb, fill = cat) +
        geom_bar(stat = "identity")
     
    grid.arrange(g1, g2, ncol = 2, nrow = 1)

    Nom : Rplot15.png
Affichages : 157
Taille : 2,9 Ko

    Sur le graphique de gauche, les catégories A et B ont respectivement les couleurs rouge et bleu.
    Sur le graphique de droite la catégorie A est absente des données du coup la catégorie B deviens rouge …

    D’où ma question de début de post, comment affecter explicitement des couleurs aux diverses catégories afin d’éviter le shift de couleur ?

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour.
    Avec scale_fill_manual, l'argument values peut être un vecteur dont les noms sont les catégories et les valeurs, des couleurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    g1 <- ggplot(d) +
      aes(x = dt, y = nb, fill = cat) +
      geom_bar(stat = "identity") +
      scale_fill_manual(values=c("A"="wheat",
                                 "B"="lightblue"))
     
    g2 <- ggplot(d2) +
      aes(x = dt, y = nb, fill = cat) +
      geom_bar(stat = "identity") +
      scale_fill_manual(values=c("A"="wheat",
                                 "B"="lightblue"))
     
    grid.arrange(g1, g2, ncol = 2, nrow = 1)
    Bon courage.
    Olivier

  3. #3
    Membre habitué
    Homme Profil pro
    Master Data Manager
    Inscrit en
    Février 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Master Data Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2017
    Messages : 113
    Points : 148
    Points
    148
    Par défaut
    Bonjour @olivier.decourt

    Super !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/02/2015, 17h22
  2. Réponses: 3
    Dernier message: 19/10/2011, 14h49
  3. Envoyer des messages aux couleurs de la société
    Par fabienlege dans le forum Outlook
    Réponses: 2
    Dernier message: 11/08/2011, 11h33
  4. [Struts] Droits d'un user et gestion des accès aux pages
    Par PeteMitchell dans le forum Struts 1
    Réponses: 4
    Dernier message: 14/04/2004, 11h30
  5. DirectDraw: Créer des surfaces 256 couleurs
    Par Magus (Dave) dans le forum DirectX
    Réponses: 5
    Dernier message: 14/10/2002, 22h28

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