Comment commander des articles sur l’axe des x dans ggplot2



Vous pouvez utiliser la syntaxe de base suivante pour classer les éléments sur l’axe des x d’un tracé dans ggplot2 :

ggplot(df, aes(x=factor(x_var, level=c('value1', 'value2', 'value3')), y=y_var)) +
  geom_col()

Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.

Exemple : commander les articles sur l’axe des x dans ggplot2

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

#create data frame
df <- data.frame(team=c('Mavs', 'Heat', 'Nets', 'Lakers'),
                 points=c(100, 122, 104, 109))

#view data frame
df

    team points
1   Mavs    100
2   Heat    122
3   Nets    104
4 Lakers    109

Si nous créons un graphique à barres pour visualiser les points marqués par chaque équipe, ggplot2 classera automatiquement les barres par ordre alphabétique :

library(ggplot2)

#create bar plot
ggplot(df, aes(x=team, y=points)) +
  geom_col()

Pour spécifier un ordre pour les barres sur l’axe des x, nous pouvons utiliser l’argument niveau comme suit :

library(ggplot2)

#create bar plot with specific axis order
ggplot(df, aes(x=factor(team, level=c('Mavs', 'Heat', 'Nets', 'Lakers')), y=points)) +
  geom_col()

Les barres sont maintenant dans l’ordre exact que nous avons spécifié dans l’argument de niveau .

Vous pouvez également utiliser xlab() pour renommer l’axe des x en quelque chose de plus facile à lire :

library(ggplot2)

#create bar plot with specific axis order
ggplot(df, aes(x=factor(team, level=c('Mavs', 'Heat', 'Nets', 'Lakers')), y=points)) +
  geom_col() +
  xlab('Team')

Ressources additionnelles

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

Comment faire pivoter les étiquettes des axes dans ggplot2
Comment définir des sauts d’axe dans ggplot2
Comment définir les limites de l’axe dans ggplot2
Comment changer les étiquettes de légende dans ggplot2

Ajouter un commentaire

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