library(ggplot2)
ggplot(ToothGrowth, aes(x = factor(dose), y = len)) +
geom_boxplot(fill = "#3a86d4", alpha = 0.7) +
theme_minimal()
Renommez, faites pivoter et supprimez les titres des axes x et y avec labs() et theme()
Apprenez à modifier les titres d’axe ggplot2 en R — définissez les titres des axes x et y avec labs(), faites pivoter le texte des graduations, supprimez un titre et restylisez-le avec theme().
8 juillet 2026
16 juillet 2026
labs(x =, y =).labs() est la fonction moderne tout-en-un ; les anciennes xlab() / ylab() fonctionnent toujours et font le même travail.theme(axis.title.x = element_text(...)).angle =, hjust et vjust à l’intérieur de element_text().labs(x = NULL) ou theme(axis.title.x = element_blank()).Les titres d’axe sont les intitulés qui nomment chaque axe — « Dose (mg/jour) » sous l’axe des x, « Longueur des dents » à côté de l’axe des y. De bons titres font toute la différence entre un graphique que le lecteur comprend d’un coup d’œil et un graphique qu’il doit déchiffrer. Dans ggplot2, vous les contrôlez avec une seule fonction, labs(), et vous affinez leur apparence avec theme().
Cette leçon couvre chaque tâche courante : définir les titres des axes x et y, n’en changer qu’un seul, restyliser la taille/couleur/le style d’un titre, le faire pivoter ou le réaligner, et le supprimer entièrement. Chaque figure est rendue ici même — réexécutez ou éditez n’importe laquelle en direct.
Chaque section part de cette boîte à moustaches : dose (enveloppé dans factor()) sur l’axe des x et len sur l’axe des y, tirés des données intégrées ToothGrowth. Remarquez que les titres d’axe par défaut de ggplot2 sont simplement les noms des variables — factor(dose) et len — ce qui est justement ce que nous voulons améliorer.
La seule fonction à retenir est labs() : passez x = et y = pour renommer les deux axes à la fois. C’est la méthode moderne et recommandée — plus claire que de jongler avec deux fonctions distinctes.

labs() définit aussi le title, le subtitle et le caption du graphique dans le même appel, si bien que vous n’avez presque jamais besoin d’autre chose pour le texte.
Pour ne renommer qu’un seul axe, ne passez que cet argument à labs() — l’autre conserve sa valeur par défaut. Ici, nous renommons l’axe des y et laissons l’axe des x intact.

Vous rencontrerez encore xlab() et ylab() dans du code et des tutoriels plus anciens. Ce sont des fonctions à usage unique qui font exactement ce que fait l’argument labs() correspondant — xlab("...") équivaut à labs(x = "..."). Les deux produisent le même graphique, alors préférez labs() pour un seul appel bien net et considérez celles-ci comme des équivalents que vous saurez lire.
L’apparence d’un titre réside dans theme(), pas dans labs(). Stylisez le titre des x avec axis.title.x et le titre des y avec axis.title.y, chacun tracé par element_text(). Définissez colour, size et face ("plain", "bold", "italic" ou "bold.italic").
library(ggplot2)
ggplot(ToothGrowth, aes(x = factor(dose), y = len)) +
geom_boxplot(fill = "#3a86d4", alpha = 0.7) +
labs(x = "Dose (mg/day)", y = "Tooth length") +
theme_minimal() +
theme(
axis.title.x = element_text(colour = "#3a86d4", size = 14, face = "bold"),
axis.title.y = element_text(colour = "#993333", size = 14, face = "bold")
)
Pour styliser les deux titres de la même manière en une seule ligne, définissez axis.title au lieu des deux éléments propres à chaque axe — par exemple theme(axis.title = element_text(size = 14, face = "bold")).
element_text() positionne aussi le titre. Utilisez angle = pour le faire pivoter et hjust / vjust (chacun un nombre dans [0, 1]) pour l’aligner. Ici, nous ramenons le titre des y à l’horizontale pour qu’il se lise normalement et alignons à gauche le titre des x.

Pour le titre des x, hjust = 0 le place à gauche, hjust = 0.5 le centre (la valeur par défaut) et hjust = 1 le pousse à droite. Pour un titre sur plusieurs lignes, ajoutez lineheight = pour contrôler l’espacement entre les lignes.
Deux façons de retirer un titre. La plus rapide est labs(x = NULL), qui supprime uniquement le texte de ce titre. Pour le supprimer via le thème à la place, définissez l’élément à element_blank().

Pour supprimer les deux titres à la fois, videz l’élément parent : theme(axis.title = element_blank()). Supprimer le titre laisse les étiquettes des graduations en place — pour les modifier, consultez la leçon sur les graduations d’axe.
Les graphiques ci-dessus ont été rendus au moment de la construction. Envie d’expérimenter ? Modifiez le code et appuyez sur Run — il s’exécute dans votre navigateur via webR (sans serveur, sans installation).
Demandez à Prova « renomme et restylise les titres des axes x et y sur mon graphique ggplot2 » — elle répond avec du code que vous pouvez exécuter sur votre propre graphique, donc la recette est reproductible. The runtime is the judge. Demander à Prova →
Ajoutez labs(x = "New x title", y = "New y title") à votre graphique. labs() définit les deux titres d’axe en un seul appel et peut aussi définir le title, le subtitle et le caption du graphique.
Elles font la même chose. xlab("...") est un raccourci pour labs(x = "...") et ylab("...") pour labs(y = "..."). Préférez labs() car elle définit les deux axes (et le titre/sous-titre) en un seul appel bien net ; xlab()/ylab() sont des équivalents à usage unique que vous rencontrerez encore dans du code plus ancien.
Stylisez-le dans theme() avec element_text() : theme(axis.title.x = element_text(colour = "blue", size = 14, face = "bold")). Utilisez axis.title.y pour l’axe des y ou axis.title pour styliser les deux à la fois. Les styles autorisés sont "plain", "bold", "italic" et "bold.italic".
Utilisez labs(x = NULL) pour retirer le texte du titre de l’axe des x, ou theme(axis.title.x = element_blank()) via le thème. Pour supprimer les deux titres à la fois, définissez theme(axis.title = element_blank()). Cela ne supprime que le titre — les étiquettes des graduations restent.
Faites-le pivoter avec angle = à l’intérieur de element_text(), par exemple theme(axis.title.y = element_text(angle = 0, vjust = 0.5)) pour que le titre des y se lise à l’horizontale. Notez que cela fait pivoter le titre de l’axe ; pour faire pivoter les étiquettes des graduations, utilisez plutôt axis.text.x (voir la leçon sur les graduations d’axe).
Complétez le code pour que l’axe des x affiche « Dose level », que l’axe des y affiche « Tooth length », et que les deux titres soient en gras.
library(ggplot2)
ggplot(ToothGrowth, aes(x = factor(dose), y = len)) +
geom_boxplot(fill = "#3a86d4", alpha = 0.7) +
labs(x = "Dose level", y = "Tooth length") +
theme_minimal() +
theme(axis.title = element_text(face = "bold"))
Vérification rapide : quelle fonction supprime le texte d’un titre d’axe sans toucher aux étiquettes des graduations ?
labs(x = NULL) (ou theme(axis.title.x = element_blank())). Les deux ne retirent que le titre de l’axe ; les étiquettes des graduations à côté de chaque marque restent en place.
Vous avez défini les deux titres d’axe en un seul appel avec labs(x =, y =), n’en avez changé qu’un seul, restylisé la couleur, la taille et le style d’un titre avec theme(axis.title.x = element_text(...)), l’avez fait pivoter et réaligné avec angle et hjust/vjust, et supprimé un titre avec labs(x = NULL) ou element_blank(). Retenez la répartition : labs() définit le texte, theme() définit l’apparence.
Vous préférez un livre ? GGPlot2 Essentials est disponible en PDF téléchargeable — toutes les leçons de cette série, hors ligne et à vous.
Prouvez que vous savez le faire. Maîtrisez toute la série ggplot2 — suivez votre parcours, construisez des projets et obtenez un certificat.
Passez à Pro — Prova illimité sur vos propres données et un certificat vérifiable qui atteste la compétence.
dès 15 $/mois facturé annuellement
✓ Vous êtes Pro — continuez. The runtime is the judge.
Prêt à passer à la vitesse supérieure ?
Recevez les nouvelles leçons R & Python par e-mail
Pratique, reproductible, sans spam. Désinscription à tout moment.
Double opt-in. Nous ne partageons jamais votre e-mail.
Cette leçon est reproductible : les figures sont exécutées au moment de la construction (si elles s’affichent, le code fonctionne), et le bac à sable et le quiz se réexécutent en direct dans votre navigateur. The runtime is the judge.
@online{2026,
author = {},
title = {Titres d’axe ggplot2 en R : renommer et styliser},
date = {2026-07-08},
url = {https://www.datanovia.com/learn/data-visualization/ggplot2/axis-labels},
langid = {fr}
}