plot(mtcars$wt, mtcars$mpg,
pch = 19, col = "#3a86d4",
main = "Fuel economy by weight",
sub = "32 cars from the 1974 Motor Trend data",
xlab = "Weight (1000 lbs)",
ylab = "Miles per gallon")
Définissez le titre principal, le sous-titre et les étiquettes des axes x/y en R de base, puis stylisez leur couleur, leur police et leur taille
Ajoutez des titres à un graphique en R de base : le titre principal, le sous-titre et les étiquettes des axes x/y. Définissez-les avec main, sub, xlab et ylab, ou ajoutez-les à un graphique existant avec title(). Stylisez la couleur, la police et la taille avec col.main, font.main et cex.main, écrivez des titres sur plusieurs lignes, et placez du texte en marge avec mtext().
27 juin 2026
7 juillet 2026
main (titre), sub (sous-titre), xlab et ylab (étiquettes des axes) à plot(), barplot() ou n’importe quel graphique de base.title() — les mêmes arguments, appelés après le graphique.col.main/col.lab/col.sub, la police avec font.main (1 normal, 2 gras, 3 italique, 4 gras-italique), la taille avec cex.main/cex.lab/cex.sub.\n ; placez du texte en marge indépendant avec mtext().par().Vous avez dessiné un graphique et il n’affiche aucun titre, ou un axe étiqueté mtcars$mpg. Le R de base corrige cela de deux façons. Vous pouvez passer le texte du titre directement à la fonction de graphique — main, sub, xlab, ylab — et il est dessiné au moment de la création du graphique. Ou bien vous appelez title() ensuite pour ajouter des titres à un graphique déjà affiché.
Cette leçon couvre les deux : définir le titre principal, le sous-titre et les étiquettes des axes ; colorer et dimensionner chaque partie ; la fonction title() ; les titres sur plusieurs lignes ; et mtext() pour du texte dans les marges. Tout est en R de base — aucun package nécessaire.
Vous préférez la grammaire des graphiques ? ggplot2 gère les titres avec labs() et ggtitle() — voir titre et sous-titre dans la série ggplot2.
Quatre arguments couvrent le cas courant. Passez-les à n’importe quel graphique de base que vous dessinez :
| Argument | Ce qu’il définit |
|---|---|
main |
Le titre principal, centré au-dessus du graphique. |
sub |
Un sous-titre, placé sous l’axe des x. |
xlab |
L’étiquette de l’axe des x. |
ylab |
L’étiquette de l’axe des y. |
Les voici sur un nuage de points. Les mêmes arguments fonctionnent pour barplot(), boxplot(), hist() et les autres.

main se place en haut, sub court le long du bas sous l’axe des x, et xlab/ylab nomment les axes. Omettez ceux dont vous n’avez pas besoin — passez main = "" pour laisser un graphique sans titre.
Colorez chaque partie séparément. Les trois arguments reflètent les parties du titre :
col.main — le titre principalcol.lab — les étiquettes des axes (à la fois x et y)col.sub — le sous-titre
Passez n’importe quelle couleur R — un nom ("red"), un code hexadécimal ("#3a86d4"), ou la valeur issue d’une palette. Voir les couleurs en R pour l’ensemble complet.
font.* définit la police, cex.* la taille. L’argument de police prend un entier :
1 normal · 2 gras · 3 italique · 4 gras-italique · 5 symbolecex est un multiplicateur — 1 est la valeur par défaut, 1.5 est une fois et demie plus grand, 0.8 plus petit.

font.main = 2 met le titre en gras, font.lab = 3 met les étiquettes des axes en italique, et cex.main = 1.6 agrandit le titre. Combinez librement les arguments de couleur, de police et de taille.
Parfois, vous dessinez le graphique d’abord — nu, ou avec un style que vous compléterez — puis vous superposez les titres. title() fait exactement cela. Elle prend les mêmes main/sub/xlab/ylab plus tout le style col.*, font.* et cex.*, et dessine sur la figure courante.
# Draw the plot with no titles
plot(mtcars$wt, mtcars$mpg,
pch = 19, col = "#3a86d4",
main = "", xlab = "", ylab = "")
# Add the titles afterwards
title(main = "Fuel economy by weight",
sub = "Motor Trend, 1974",
xlab = "Weight (1000 lbs)",
ylab = "Miles per gallon",
col.main = "#3a86d4", font.main = 2, cex.main = 1.4,
col.sub = "#5fad56", font.sub = 3, cex.sub = 0.9,
col.lab = "#444444")
Dessiner le graphique avec main = "", xlab = "", ylab = "" laisse les emplacements vides, puis title() les remplit. C’est le motif à privilégier quand les titres proviennent d’une boucle, d’une condition, ou d’une valeur calculée après le dessin du graphique.
Répartissez un titre long sur plusieurs lignes avec le caractère de saut de ligne \n. Cela fonctionne dans main, sub et les étiquettes des axes.

Si un titre sur deux lignes est tronqué en haut, élargissez la marge supérieure avant de tracer avec par(mar = c(5, 4, 5, 2)) — la troisième valeur est la marge supérieure en lignes de texte.
mtext() écrit du texte dans n’importe laquelle des quatre marges, indépendamment des emplacements de titre. Utilisez-le pour une note de source, une légende, ou un second sous-titre. side choisit la marge (1 bas, 2 gauche, 3 haut, 4 droite) ; line est la distance en lignes par rapport au graphique ; adj l’aligne (0 gauche, 0.5 centre, 1 droite).
plot(mtcars$wt, mtcars$mpg,
pch = 19, col = "#3a86d4",
main = "Fuel economy by weight",
xlab = "Weight (1000 lbs)",
ylab = "Miles per gallon")
# A right-aligned source note in the bottom margin
mtext("Source: Motor Trend, 1974", side = 1, line = 4, adj = 1,
cex = 0.8, col = "#888888")
# An italic caption just under the main title
mtext("Heavier cars use more fuel", side = 3, line = 0.2, adj = 0,
cex = 0.9, font = 3, col = "#3a86d4")
Contrairement à main, mtext() vous laisse contrôler exactement quelle marge, à quelle distance, et l’alignement — c’est donc l’outil pour les notes que les arguments de titre ne peuvent pas placer.
Pour styliser chaque graphique de la même manière, définissez les paramètres une fois avec par(). Ils persistent pour le reste de la session (ou jusqu’à ce que vous les réinitialisiez), de sorte que vous ne répétez pas le style sur chaque graphique.

Sauvegardez les anciens réglages avec par(no.readonly = TRUE) et restaurez-les ensuite, sinon le style se propage dans chaque graphique que vous dessinez plus tard dans la session.
Modifiez le texte du titre, les couleurs, les polices ou les tailles et appuyez sur Run — il s’exécute dans votre navigateur via webR, sans installation.
Demandez à Prova « comment rendre le titre de mon graphique gras et d’une couleur différente en R de base ? » — elle répond avec du code R de base que vous pouvez exécuter, donc la solution est reproductible. The runtime is the judge. Demander à Prova →
Mon titre sur plusieurs lignes est coupé en haut. La marge supérieure par défaut ne tient qu’une seule ligne de titre. Élargissez-la avant de tracer : par(mar = c(5, 4, 5, 2)) (le troisième nombre est la marge supérieure en lignes de texte), ou réduisez le titre avec cex.main.
col.main colore tout, pas seulement le titre. Utilisez l’argument spécifique à la partie : col.main pour le titre principal, col.lab pour les étiquettes des axes, col.sub pour le sous-titre. Le simple col est la couleur des données (points/lignes), pas des titres — passer col = "red" colore les points en rouge, pas le titre.
Passez main = "Votre titre" à la fonction de graphique — plot(x, y, main = "Votre titre"). Ajoutez xlab et ylab pour les étiquettes des axes et sub pour un sous-titre. Pour ajouter un titre à un graphique déjà dessiné, appelez title(main = "Votre titre") ensuite.
Définissez xlab et ylab sur l’appel de graphique : plot(x, y, xlab = "Weight", ylab = "MPG"). Sans eux, le R de base étiquette les axes avec les noms des variables. Vous pouvez aussi les ajouter plus tard avec title(xlab = "Weight", ylab = "MPG").
Utilisez font.main pour le style (2 gras, 3 italique, 4 gras-italique) et col.main pour la couleur : plot(x, y, main = "Title", font.main = 2, col.main = "#3a86d4"). Utilisez cex.main pour changer sa taille.
Appelez title() après que le graphique soit dessiné : title(main = "Title", xlab = "X", ylab = "Y"). Elle prend les mêmes arguments de couleur, de police et de taille (col.main, font.main, cex.main) et dessine sur la figure courante.
Mettez \n là où la coupure doit aller : main = "First line\nSecond line". Si la seconde ligne est tronquée, élargissez d’abord la marge supérieure avec par(mar = c(5, 4, 5, 2)).
Le graphique ci-dessous est dessiné nu. Ajoutez un titre principal azur en gras "Speed vs stopping distance", étiquetez l’axe des x "Speed (mph)" et l’axe des y "Distance (ft)", et ajoutez un sous-titre "cars dataset".
Appelez title() après le graphique. Utilisez main pour le titre avec font.main = 2 et col.main = "#3a86d4" pour le rendre gras et azur, puis sub, xlab et ylab pour le reste.
Vérification rapide. Vous voulez que seul le titre principal soit en rouge, en laissant les étiquettes des axes en noir. Quel argument définissez-vous ?
col.main = "red". Le simple col colore les données (points/lignes), col.lab colore les étiquettes des axes, et col.sub le sous-titre — col.main est celui qui cible uniquement le titre principal.
Le R de base vous offre deux voies vers un graphique titré : passer main, sub, xlab et ylab à la fonction de graphique, ou les ajouter ensuite avec title(). Stylisez chaque partie séparément avec les arguments col.*, font.* et cex.*, coupez les titres longs avec \n, et utilisez mtext() quand vous avez besoin de texte que les emplacements de titre ne peuvent pas placer.
col.main/col.lab puisent. · Titre et sous-titre ggplot2 — le même travail avec la grammaire des graphiques si vous la préférez.Prouvez que vous savez le faire. Maîtrisez toute la série R Base Graphics — 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 : chaque figure a été produite par le code affiché, exécuté lors de la génération du site (si elles s’affichent, le code fonctionne), et le bac à sable se réexécute en direct dans votre navigateur. Modifiez n’importe quel bloc et appuyez sur Run. The runtime is the judge.
@online{2026,
author = {},
title = {Ajouter un titre à un graphique en R : main, title() et
étiquettes d’axes},
date = {2026-06-27},
url = {https://www.datanovia.com/learn/data-visualization/r-base/plot-titles},
langid = {fr}
}