Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment trier les barres dans un graphique à barres ggplot2



Par défaut, ggplot2 classe les barres d’un graphique à barres dans l’ordre suivant :

  • Les variables factorielles sont classées par niveaux de facteurs.
  • Les variables de caractères sont classées par ordre alphabétique.

Cependant, vous pourriez souvent être intéressé à commander les barres dans un autre ordre spécifique.

Ce didacticiel explique comment procéder à l’aide du bloc de données suivant :

#create data frame
df <- data.frame(team = c('B', 'B', 'B', 'A', 'A', 'C'),
                 points = c(12, 28, 19, 22, 32, 45),
                 rebounds = c(5, 7, 7, 12, 11, 4))

#view structure of data frame
str(df)

'data.frame':	6 obs. of  3 variables:
 $ team    : Factor w/ 3 levels "A","B","C": 2 2 2 1 1 3
 $ points  : num  12 28 19 22 32 45
 $ rebounds: num  5 7 7 12 11 4

Exemple 1 : Ordonner les barres en fonction d’un ordre de facteur spécifique

Si nous essayons de créer un graphique à barres pour afficher la fréquence par équipe, les barres apparaîtront automatiquement par ordre alphabétique :

library(ggplot2)

ggplot(df, aes(x=team)) +
  geom_bar()

Le code suivant montre comment trier les barres selon un ordre spécifique :

#specify factor level order
df$team = factor(df$team, levels = c('C', 'A', 'B'))

#create bar chart again 
ggplot(df, aes(x=team)) +
  geom_bar()

Exemple 2 : ordonner les barres en fonction de la valeur numérique

Nous pouvons également trier les barres en fonction de valeurs numériques. Par exemple, le code suivant montre comment classer les barres de la fréquence la plus grande à la plus petite à l’aide de la fonction reorder() :

library(ggplot2)

ggplot(df, aes(x=reorder(team, team, function(x)-length(x)))) +
  geom_bar()

Ordonner les barres dans le graphique à barres ggplot2

Nous pouvons également trier les barres de la fréquence la plus petite à la plus grande en supprimant le signe moins dans l’appel function() dans la fonction reorder() :

library(ggplot2)

ggplot(df, aes(x=reorder(team, team, function(x) length(x)))) +
  geom_bar()

Ordonner les barres de la plus petite à la plus grande dans le graphique à barres ggplot2

Ressources additionnelles

Documentation pour la fonction geom_bar() .
Documentation pour la fonction reorder() .
Une liste complète des tutoriels R sur la statologie.

Ajouter un commentaire

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