Comment utiliser hjust & il suffit de déplacer des éléments dans ggplot2



Vous pouvez utiliser les arguments hjust et vjust pour déplacer des éléments respectivement horizontalement et verticalement dans ggplot2.

Les exemples suivants montrent comment utiliser hjust et vjust dans différents scénarios.

Exemple 1 : déplacer la position du titre dans ggplot2

Le code suivant montre comment créer un nuage de points dans ggplot2 avec un titre dans la position par défaut (aligné à gauche) :

library(ggplot2)

#create scatter plot with title in default position
ggplot(data=mtcars, aes(x=mpg, y=wt)) +
  geom_point() +
  ggtitle("Plot Title") 

Et le code suivant montre comment centrer le titre en utilisant hjust=0.5 :

library(ggplot2)

#create scatter plot with title center-aligned
ggplot(data=mtcars, aes(x=mpg, y=wt)) +
  geom_point() +
  ggtitle("Plot Title") +
  theme(plot.title = element_text(hjust=.5))

Remarque : Vous pouvez également utiliser hjust=1 pour aligner le titre à droite.

Exemple 2 : déplacer la position de l’étiquette de l’axe dans ggplot2

Le code suivant montre comment créer un graphique à barres dans ggplot2 dans lequel les étiquettes de l’axe des x pivotent de 90 degrés pour les rendre plus faciles à lire :

library(ggplot2)

#create data frame
df = data.frame(team=c('The Amazing Amazon Anteaters',
                       'The Rowdy Racing Raccoons',
                       'The Crazy Camping Cobras'),
                points=c(14, 22, 11))

#create bar plot to visualize points scored by each team
ggplot(data=df, aes(x=team, y=points)) +
  geom_bar(stat='identity') +
  theme(axis.text.x = element_text(angle=90)) 

Nous pouvons utiliser les arguments hjust et vjust pour ajuster les étiquettes de l’axe des x afin qu’elles s’alignent plus étroitement avec les graduations sur l’axe des x :

library(ggplot2)

#create data frame
df = data.frame(team=c('The Amazing Amazon Anteaters',
                       'The Rowdy Racing Raccoons',
                       'The Crazy Camping Cobras'),
                points=c(14, 22, 11))

#create bar plot to visualize points scored by each team
ggplot(data=df, aes(x=team, y=points)) +
  geom_bar(stat='identity') +
  theme(axis.text.x = element_text(angle=90, vjust=.5, hjust=1) 

Exemple 3 : déplacer la position du texte dans ggplot2

Le code suivant montre comment créer un nuage de points dans ggplot2 avec du texte annoté pour chaque point du tracé :

library(ggplot2)

#create data frame
df <- data.frame(player=c('Brad', 'Ty', 'Spencer', 'Luke', 'Max'),
                 points=c(17, 5, 12, 20, 22),
                 assists=c(4, 3, 7, 7, 5))

#create scatter plot with annotated labels
ggplot(df) +
  geom_point(aes(x=points, y=assists)) + 
  geom_text(aes(x=points, y=assists, label=player)) 

Nous pouvons utiliser l’argument vjust pour déplacer les éléments de texte verticalement afin qu’ils soient plus faciles à lire :

library(ggplot2)

#create data frame
df <- data.frame(player=c('Brad', 'Ty', 'Spencer', 'Luke', 'Max'),
                 points=c(17, 5, 12, 20, 22),
                 assists=c(4, 3, 7, 7, 5))

#create scatter plot with annotated labels
ggplot(df) +
  geom_point(aes(x=points, y=assists)) + 
  geom_text(aes(x=points, y=assists, label=player), vjust=-.6)

Nous pourrions également utiliser une valeur positive pour vjust pour déplacer les éléments de texte vers le bas verticalement :

library(ggplot2)

#create data frame
df <- data.frame(player=c('Brad', 'Ty', 'Spencer', 'Luke', 'Max'),
                 points=c(17, 5, 12, 20, 22),
                 assists=c(4, 3, 7, 7, 5))

#create scatter plot with annotated labels
ggplot(df) +
  geom_point(aes(x=points, y=assists)) + 
  geom_text(aes(x=points, y=assists, label=player), vjust=1.2)

Le texte annoté est désormais situé sous chaque point du tracé.

Ressources additionnelles

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

Comment changer le titre de la légende dans ggplot2
Comment faire pivoter les étiquettes des axes dans ggplot2
Comment réparer dans R : impossible de trouver la fonction « ggplot »

Ajouter un commentaire

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