Comment inverser l’ordre des axes dans ggplot2 (avec exemples)



Vous pouvez utiliser les fonctions scale_y_reverse() et scale_x_reverse() pour inverser rapidement l’ordre d’un axe dans ggplot2.

Ces fonctions utilisent la syntaxe de base suivante :

ggplot(df, aes(x, y)) +
  geom_point() +
  scale_y_reverse()

Vous pouvez également utiliser l’argument limites avec ces fonctions pour spécifier de nouvelles limites d’axe après avoir inversé l’axe :

ggplot(df, aes(x, y)) +
  geom_point() +
  scale_y_reverse(limits=c(100, 50))

L’exemple suivant montre comment utiliser ces fonctions dans la pratique.

Exemple : ordre inversé des axes dans ggplot2

Le code suivant montre comment créer un nuage de points dans ggplot2 avec un axe normal :

library(ggplot2)

#create data frame
df <- data.frame(hours=c(1, 2, 2, 3, 4, 6, 7, 7, 8, 9),
                 score=c(76, 77, 75, 79, 84, 88, 85, 94, 95, 90))

#create scatter plot with normal y-axis
ggplot(df, aes(x=hours, y=score)) +
  geom_point(size=2)

Notez que l’axe des y va actuellement de 75 à 95.

Le code suivant montre comment utiliser la fonction scale_y_reverse() pour inverser l’ordre des valeurs sur l’axe y :

library(ggplot2)

#create data frame
df <- data.frame(hours=c(1, 2, 2, 3, 4, 6, 7, 7, 8, 9),
                 score=c(76, 77, 75, 79, 84, 88, 85, 94, 95, 90))

#create scatter plot with reversed y-axis
ggplot(df, aes(x=hours, y=score)) +
  geom_point(size=2) +
  scale_y_reverse()

Notez que l’axe des y va désormais de 95 à 75.

Nous pourrions également utiliser l’argument limites dans la fonction scale_y_reverse() pour modifier les limites de l’axe y :

library(ggplot2)

#create data frame
df <- data.frame(hours=c(1, 2, 2, 3, 4, 6, 7, 7, 8, 9),
                 score=c(76, 77, 75, 79, 84, 88, 85, 94, 95, 90))

#create scatter plot with reversed y-axis and modified limits
ggplot(df, aes(x=hours, y=score)) +
  geom_point(size=2) +
  scale_y_reverse(limits=c(100, 50))

Notez que l’axe des y va désormais de 100 à 50.

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 *