Comment changer les couleurs des barres dans le graphique Bart empilé dans ggplot2



Vous pouvez utiliser la syntaxe de base suivante pour changer la couleur des barres dans un graphique à barres empilées dans ggplot2 :

#create stacked bar chart
ggplot(df, aes(x=x_var, y=y_var, fill=fill_var)) + 
  geom_bar(position='stack', stat='identity') +
  scale_fill_manual(values=c('red', 'purple', 'pink', ...))

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : changer la couleur des barres dans le graphique à barres empilées dans ggplot2

Supposons que nous ayons le bloc de données suivant dans R qui montre les points marqués par différents joueurs de basket-ball :

#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'),
                 position=c('G', 'F', 'C', 'G', 'F', 'C', 'G', 'F', 'C'),
                 points=c(22, 12, 10, 30, 12, 17, 28, 23, 20))

#view data frame
df

  team position points
1    A        G     22
2    A        F     12
3    A        C     10
4    B        G     30
5    B        F     12
6    B        C     17
7    C        G     28
8    C        F     23
9    C        C     20

Si nous créons un graphique à barres empilées pour visualiser les points marqués par les joueurs de chaque équipe, ggplot2 utilisera un ensemble de couleurs par défaut pour remplir les barres :

library(ggplot2)

#create stacked bar chart
ggplot(df, aes(x=team, y=points, fill=position)) + 
  geom_bar(position='stack', stat='identity')

Cependant, nous pouvons utiliser l’argument scale_fill_manual() pour spécifier les couleurs exactes que ggplot2 doit utiliser pour les barres :

library(ggplot2)

#create stacked bar chart with custom colors
ggplot(df, aes(x=team, y=points, fill=position)) + 
  geom_bar(position='stack', stat='identity') +
  scale_fill_manual(values=c('red', 'purple', 'pink'))

Les barres ont maintenant les couleurs exactes (dans l’ordre de haut en bas) que nous avons spécifiées dans la fonction scale_fill_manual() .

Notez également que nous pouvons utiliser des codes de couleur hexadécimaux dans la fonction scale_fill_manual() :

library(ggplot2)

#create stacked bar chart with custom hex color codes
ggplot(df, aes(x=team, y=points, fill=position)) + 
  geom_bar(position='stack', stat='identity') +
  scale_fill_manual(values=c('#2596BE', '#8225BE', '#D4C443'))

Les barres ont désormais les codes de couleur hexadécimaux que nous avons spécifiés.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans ggplot2 :

Comment réorganiser les barres dans un graphique à barres empilées dans ggplot2
Comment créer un Barplot dans ggplot2 avec plusieurs variables
Comment trier les barres dans un graphique à barres ggplot2

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *