ggplot2 graduation des axes : Guide pour personnaliser les étiquettes des graduations - Logiciel R et visualisation de données


Le but de cet tutoriel est de décrire comment personnaliser les étiquettes des graduations des axes avec le logiciel R et le package ggplot2.

Préparer les données

Le jeu de données ToothGrowth est utilisé dans les exemples suivants :

# Convertir la colonne dose en facteur
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
head(ToothGrowth)
##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
## 4  5.8   VC  0.5
## 5  6.4   VC  0.5
## 6 10.0   VC  0.5

Assurez-vous que la variable dose soit convertie en facteur en utilisant le script de R ci-dessus.

Exemple de graphiques

library(ggplot2)
p <- ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot()
p

ggplot2 graduation des axes, étiquette des axes, programmation R

Changer l’apparence des étiquettes de graduations des axes

La couleur, la taille de la police et le style de police des étiquettes des graduations peuvent être changés en utilisant les fonctions theme() et element_text() comme suit:

# Etiquettes de graduations de l'axe x
p + theme(axis.text.x= element_text(family, face, colour, size))
# Etiquettes de graduations de l'axe y
p + theme(axis.text.y = element_text(family, face, colour, size))

Les arguments ci-dessous peuvent être utilisés pour la fonction element_text() pour modifier l’apparence du texte:


  • family : famille de police
  • face : type de police. Valeurs possibles “plain”, “italic”, “bold” et “bold.italic”
  • colour : couleur du texte
  • size : taille du texte en pts
  • angle: angle (entre [0, 360])
  • color : alias pour colour


# Changer l'apparence et l'angle d'orientation des étiquettes
p + theme(axis.text.x = element_text(face="bold", color="#993333", 
                           size=14, angle=45),
          axis.text.y = element_text(face="bold", color="#993333", 
                           size=14, angle=45))

ggplot2 graduation des axes, étiquette des axes, programmation R

Supprimer les étiquettes des graduations des axes x et y

Il est possible de masquer les graduations des axes et les étiquettes des graduations en utilisant la fonction element_blank() comme suit :

# Supprimer les étiquettes des graduations des axes x et y
p + theme(
  axis.text.x = element_blank(),
  axis.text.y = element_blank())
# Supprimer à la fois les graduations et les étiquettes
p + theme(
  axis.text.x = element_blank(),
  axis.text.y = element_blank(),
  axis.ticks = element_blank())

ggplot2 graduation des axes, étiquette des axes, programmation Rggplot2 graduation des axes, étiquette des axes, programmation R

Changer le trait des axes

Le type de traits des axes peut être changé en utilisant la fonction element_line() comme suit:

p + theme(axis.line = element_line(colour, size, linetype,
                                   lineend, color))

Les arguments de la fonction element_line() sont:


  • colour, color : couleur des traits
  • size : épaisseur des traits
  • linetype : Type de traits. Le type de traits peut être spécifié en utilisant soit du texte (“blank”, “solid”, “dashed”, “dotted”, “dotdash”, “longdash”, “twodash”) ou un nombre (0, 1, 2, 3, 4, 5, 6). Notez que linetype = “solid” est identique à linetype=1. Les types de traits disponibles dans R sont décrits ici: Types de traits dans R
  • lineend : terminaison du trait. Les valeurs possibles sont: “round”, “butt” ou “square”


# Changer le type et la couleur du trait des axes
p + theme( axis.line = element_line(colour = "darkblue", 
                      size = 1, linetype = "solid"))

ggplot2 graduation des axes, étiquette des axes, programmation R

Modifier les graduations des axes discrets et continus

Les axes x ou y peuvent être discrets ou continus. Dans chacune des configurations, les fonctions à utiliser, pour modifier les gradutions des axes, sont différentes.

Personnaliser un axe discret

Les fonctions scale_x_discrete() et scale_y_discrete() sont utilisées pour personnaliser les axes x et y discrets, respectivement.

Il est possible d’utiliser ces fonctions pour changer les paramètres, des axes x ou y, suivants:

  • titres des axes
  • limites des axes (échelle des axes)
  • la position des étiquettes des graduations
  • changement manuel des étiquettes des graduations

Les formats simplifiés de scale_x_discrete() et scale_y_discrete() sont:

scale_x_discrete(name, breaks, labels, limits)
scale_y_discrete(name, breaks, labels, limits)

  • name : Titre de l’axe des x ou y
  • breaks : contrôle la position des graduations (graduations des axes et grilles). Parmi les valeurs possibles, il y a:
    • NULL : Supprime toutes les graduations
    • waiver() : Valeur par défaut des graduations
    • un vecteur de type “character” ou “numeric” spécifiant les graduations à montrer
  • labels : Étiquettes des graduations des axes. Valeurs possibles:
    • NULL: pas d’étiquettes
    • waiver(): étiquettes par défaut
    • character vector: un vecteur de caractère à utiliser comme étiquettes
  • limits : Un vecteur de caractères spécifiant l’étiquette des graduations


Notez que, dans tous les exemples ci-dessous, nous allons utiliser seulement les fonctions scale_x_discrete() et xlim() pour personnaliser les étiquettes des graduations des axes x. Les mêmes types d’exemples peuvent être appliqués à un axe y de type discret en utilisant les fonctions scale_y_discrete() et ylim().

Changer l’ordre des groupes

L’argument limits est utilisé pour changer l’ordre des éléments:

# Graphique par défaut
p
# Changer l'ordre des groupes
# Changer le titre de l'axe des x
p + scale_x_discrete(name ="Dose (mg)", 
                    limits=c("2","1","0.5"))

ggplot2 graduation des axes, étiquette des axes, programmation Rggplot2 graduation des axes, étiquette des axes, programmation R

Changer les étiquettes des graduations

Les étiquettes de graduations peuvent être changées comme suit:

# Solution 1
p + scale_x_discrete(breaks=c("0.5","1","2"),
        labels=c("Dose 0.5", "Dose 1", "Dose 2"))
# Solution 2 : même graphique que la solution 1
p + scale_x_discrete(labels=c("0.5" = "Dose 0.5", "1" = "Dose 1",
                              "2" = "Dose 2"))

ggplot2 graduation des axes, étiquette des axes, programmation Rggplot2 graduation des axes, étiquette des axes, programmation R

Choisir les groupes à afficher

Le code R ci-dessous montre les box plots pour le premier élément (dose = 0.5) et le dernier élément (dose = 2) :

# Solution 1
p + scale_x_discrete(limits=c("0.5", "2"))
# Solution 2 : même graphique que la solution 1
p + xlim("0.5", "2")

ggplot2 graduation des axes, étiquette des axes, programmation Rggplot2 graduation des axes, étiquette des axes, programmation R

Personnaliser un axe continu

Les fonctions scale_x_continuous() et scale_y_continuous() sont utilisées pour personnaliser les axes x et y continus, respectivement.

Il est possible d’utiliser ces fonctions pour changer les paramètres, des axes x ou y, suivants:

  • titres des axes
  • limites des axes (changer le minimum et le maximum)
  • la position des étiquettes des graduations
  • changement manuel des étiquettes des graduations

Les formats simplifiés de scale_x_continuous() et scale_y_continuous() sont:

scale_x_continuous(name, breaks, labels, limits, trans)
scale_y_continuous(name, breaks, labels, limits, trans)

  • name : Titre de l’axe des x ou y
  • breaks : contrôle la position des graduations (graduations des axes et grilles). Parmi les valeurs possibles, il y a:
    • NULL : Supprime toutes les graduations
    • waiver() : Valeur par défaut des graduations
    • un vecteur de type character pou numeric spécifiant les graduations à montrer
  • labels : Étiquettes des graduations des axes. Valeurs possibles:
    • NULL: pas d’étiquettes
    • waiver(): étiquettes par défaut
    • character vector: un vecteur de caractère à utiliser comme étiquettes
  • limits : Un vecteur de caractères spécifiant les limites des axes x et y (min, max)
  • trans: transformations des axes. Valeurs possibles: “log2”, “log10”, “sqrt”, etc


Ces fonctions peuvent être utilisées comme suit:

# Nuage de points
sp<-ggplot(cars, aes(x = speed, y = dist)) + geom_point()
sp
# Changer le titre des axes x et y ainsi que les limits
sp + scale_x_continuous(name="Speed of cars", limits=c(0, 30)) +
  scale_y_continuous(name="Stopping distance", limits=c(0, 150))

ggplot2 graduation des axes, étiquette des axes, programmation Rggplot2 graduation des axes, étiquette des axes, programmation R

Changer la position des étiquettes des graduations

Le code R ci-dessous modifie la position des étiquettes de graduations sur l’axe des y du box plot. La fonction scale_y_continuous() et l’argument breaks sont utilisés:

# Changer les étiquettes des graduations (axe y)
# Graduation de 5 en 5
p + scale_y_continuous(breaks=seq(0,40,5))
# Graduations aléatoires
p + scale_y_continuous(breaks=c(5,7.5, 20, 25))
                     
# Suppression des graduations + grilles
p + scale_y_continuous(breaks=NULL)

ggplot2 graduation des axes, étiquette des axes, programmation Rggplot2 graduation des axes, étiquette des axes, programmation Rggplot2 graduation des axes, étiquette des axes, programmation R

Formater le texte des étiquettes de graduations

Les étiquettes de graduations peuvent être formatées en pourcentages, dollars, notation scientifiques, etc… Le package scales est nécessaire.

library(scales)
# Formatage en pourcentage
p + scale_y_continuous(labels = percent)
# Formatage en notation scientifique
p + scale_y_continuous(labels = scientific)

ggplot2 graduation des axes, étiquette des axes, programmation Rggplot2 graduation des axes, étiquette des axes, programmation R

Pour plus d’exemples sur le formatage des étiquettes des graduations, lire la documentation sur le package scales : ?scales::trans_new

Infos

Cette analyse a été réalisée avec le logiciel R (ver. 3.1.2) et le package ggplot2 (ver. 1.0.0)







Want to Learn More on R Programming and Data Science?

==> Subscribe to our Mailing List <==

You will receive, by e-mail, a copy of the "Guide to Create Beautiful Graphics in R"
* indicates required


 Get involved :
  Click to follow us on and Google+ :   
  Comment this article by clicking on "Discussion" button (top-right position of this page)
  Sign up as a member and post news and articles on STHDA web site.


Suggestions


ggplot2 légende : Modifier facilement la légende d'un graphique - Logiciel R et visualisation de données
ggplot2 couleurs : Changer les couleurs automatiquement et manuellement - Logiciel R et visualisation de données
ggplot2 barplots : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 échelle et transformation des axes - Logiciel R et visualisation de données
ggplot2 titres : Titre principal, titre des axes et légendes - Logiciel R et visualisation de données
ggplot2 box plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 - Combiner plusieurs graphiques sur la même page - Logiciel R et visualisation de données
ggplot2 nuage de points: Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 thèmes et couleurs de fond : les 3 éléments - Logiciel R et visualisation de données
ggplot2 textes : Ajouter du texte à un graphique - Logiciel R et visualisation de données
ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 types de points - Logiciel R et visualisation de données
ggplot2 barres d'erreur : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 histogramme : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 - ajouter une ligne droite à un graphe : Ligne horizontale, verticale et droite de régression
ggplot2 graphique linéaire : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2
ggplot2 : heatmap d'une matrice de corrélation - Logiciel R et visualisation de données
ggplot2 type de traits : Comment changer le type de trait d'un graphique avec le logiciel R?
ggplot2 facet : diviser un graphique en plusieurs panneaux - Logiciel R et visualisation de données
ggplot2 dot plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 violin plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 courbe de distribution : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 stripchart (jitter): Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 pivoter un graphique : Inverser et retourner le graphique - Logiciel R et visualisation de données
ggplot2 ECDF graphique: Guide de démarrage rapide pour la fonction de répartition empirique - Logiciel R et visualisation de données
ggplot2 qq plot (quantile - quantile plot) : Guide de démarrage rapide - Logiciel R et visualisation de données

Cette page a été vue 16169 fois
Licence - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions
Licence Creative Commons