Titres d’axe ggplot2 en R : renommer et styliser

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().

Date de publication

8 juillet 2026

Modifié

16 juillet 2026

AstucePoints clés
  • L’étiquette d’axe (ou titre de l’axe) est le texte qui nomme un axe — définissez les deux à la fois avec labs(x =, y =).
  • labs() est la fonction moderne tout-en-un ; les anciennes xlab() / ylab() fonctionnent toujours et font le même travail.
  • Restylisez la couleur, la taille et le style de police d’un titre avec theme(axis.title.x = element_text(...)).
  • Faites pivoter ou réalignez un titre avec angle =, hjust et vjust à l’intérieur de element_text().
  • Supprimez un titre d’axe avec labs(x = NULL) ou theme(axis.title.x = element_blank()).
  • Chaque graphique ci-dessous est rendu pour vous — puis ajustez n’importe quel exemple en direct dans le bac à sable.
Obtenez le livre — GGPlot2 Essentials (PDF)

Introduction

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.

Construire le graphique d’exemple

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.

library(ggplot2)
ggplot(ToothGrowth, aes(x = factor(dose), y = len)) +
  geom_boxplot(fill = "#3a86d4", alpha = 0.7) +
  theme_minimal()

ggplot2 box plot of tooth length by vitamin C dose, showing the default axis titles factor(dose) and len.

Définir les titres des axes x et y

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.

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()

ggplot2 box plot with the x-axis titled Dose (mg per day) and the y-axis titled Tooth length via labs().

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.

Ne changer qu’un seul titre d’axe

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.

library(ggplot2)
ggplot(ToothGrowth, aes(x = factor(dose), y = len)) +
  geom_boxplot(fill = "#3a86d4", alpha = 0.7) +
  labs(y = "Odontoblast length (microns)") +
  theme_minimal()

ggplot2 box plot with only the y-axis renamed to Odontoblast length (microns), the x-axis left at its default.

Les anciennes xlab() et ylab()

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.

library(ggplot2)
ggplot(ToothGrowth, aes(x = factor(dose), y = len)) +
  geom_boxplot(fill = "#3a86d4", alpha = 0.7) +
  xlab("Dose (mg/day)") +
  ylab("Tooth length") +
  theme_minimal()

ggplot2 box plot with axis titles set through the older xlab() and ylab() helper functions.

Styliser les titres : taille, couleur et style de police

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")
  )

ggplot2 box plot with a bold blue x-axis title and a bold dark-red y-axis title.

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")).

Faire pivoter et réaligner un titre

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.

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(hjust = 0),
    axis.title.y = element_text(angle = 0, vjust = 0.5)
  )

ggplot2 box plot with the y-axis title rotated to horizontal and the x-axis title left-aligned.

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.

Supprimer un titre d’axe

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().

library(ggplot2)
ggplot(ToothGrowth, aes(x = factor(dose), y = len)) +
  geom_boxplot(fill = "#3a86d4", alpha = 0.7) +
  labs(x = NULL, y = "Tooth length") +
  theme_minimal() +
  theme(axis.title.x = element_blank())

ggplot2 box plot with the x-axis title removed while the y-axis title Tooth length remains.

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.

Essayez en direct

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).

🟢 Avec un agent IA

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 →

Questions fréquentes

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).

Testez vos connaissances

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.

# labs(x = "Dose level", y = "Tooth length") sets the two titles;
# axis.title = element_text(face = "bold") makes both bold at once.
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"))
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.

Conclusion

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.

Leçons connexes

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.

Obtenir le livre (PDF) →Les leçons restent gratuites en ligne.
Cette page vous a-t-elle été utile ?

Prouvez que vous savez le faire. Maîtrisez toute la série ggplot2 — suivez votre parcours, construisez des projets et obtenez un certificat.

Commencer gratuitement →

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

Passer à Pro →

✓ Vous êtes Pro — continuez. The runtime is the judge.

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.

Partager cette pageXLinkedInRedditHN
Note

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.

Réutilisation

Citation

BibTeX
@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}
}
Veuillez citer ce travail comme suit :
“Titres d’axe ggplot2 en R : renommer et styliser.” 2026. July 8. https://www.datanovia.com/learn/data-visualization/ggplot2/axis-labels.