Palettes de couleurs R : la référence complète

Toutes les palettes à connaître — viridis, ColorBrewer, ggsci, Wes Anderson, base R — avec des nuanciers exécutables

Data Visualization

La référence complète des palettes de couleurs R : viridis, RColorBrewer, niveaux de gris, palettes de revues scientifiques (ggsci) et Wes Anderson, les 657 noms de couleurs intégrés, les codes hexadécimaux, comment étendre une palette avec colorRampPalette(), et les choix adaptés au daltonisme — chaque nuancier rendu à partir de vrai code R.

Auteur·rice
Date de publication

21 juin 2026

Modifié

12 juillet 2026

AstuceCe que vous trouverez ici
  • Les familles de palettes à connaître en R — et quand utiliser chacune.
  • viridis (le choix par défaut sûr), RColorBrewer (séquentielles / divergentes / qualitatives), niveaux de gris, revues scientifiques (ggsci), Wes Anderson, et les palettes base-R (rainbow, heat.colors…).
  • Les 657 noms de couleurs intégrés, les codes hexadécimaux, et comment étendre n’importe quelle palette à davantage de couleurs.
  • Les choix adaptés au daltonisme — ceux qui résistent à la deutéranopie.
  • Chaque nuancier ci-dessous est rendu à partir de vrai code R que vous pouvez copier et exécuter.

Quelle palette utiliser ?

Une bonne palette de couleurs est perceptuellement uniforme (des écarts égaux dans les données paraissent des écarts égaux en couleur), adaptée au daltonisme, et s’imprime en niveaux de gris. Deux bibliothèques couvrent presque tous les besoins :

  • viridis — le choix par défaut avec lequel vous ne pouvez pas vous tromper : uniforme, adaptée au daltonisme, adaptée aux niveaux de gris.
  • RColorBrewer — des jeux séquentiels, divergents et qualitatifs soigneusement sélectionnés pour les cartes thématiques et les groupes.

Ne vous tournez vers les autres que pour un rendu spécifique — les revues scientifiques (ggsci), les films de Wes Anderson, ou les classiques de base-R. Évitez le simple rainbow() pour les données : il n’est pas perceptuellement uniforme et échoue en cas de daltonisme. Vous découvrez le pourquoi de ces règles ? Commencez par les bases de la théorie des couleurs ci-dessous — les types de palettes, les modèles de couleurs, et le cercle chromatique.

Five flagship R color palettes as smooth horizontal bands: viridis, magma, plasma, ColorBrewer Blues, and ColorBrewer RdBu.

Les bases de la théorie des couleurs

Avant le catalogue, le pourquoi — trois idées rapides rendent presque tous les choix de cette page évidents. Choisissez une palette en répondant à trois questions : quel type de données (ce qui fixe le type de palette), dans quel modèle de couleurs vous raisonnez, et comment les teintes se rapportent les unes aux autres sur le cercle chromatique.

Adaptez le TYPE de palette à vos données

C’est le choix qui compte le plus. Il existe trois types, et chacun correspond à exactement un type de données :

  • Séquentielle — pour des données ordonnées qui vont du faible → élevé (effectifs, revenus, température). Une seule teinte passant du clair → foncé, donc plus foncé = plus. → viridis, Brewer Blues / YlOrRd.
  • Divergente — pour des données ordonnées avec un point médian significatif (corrélations autour de 0, variation par rapport à une référence, scores z). Deux dégradés séquentiels se rejoignant en un centre neutre, de sorte que le milieu se lit comme « aucune différence ». → Brewer RdBu / Spectral.
  • Qualitative — pour des catégories non ordonnées (espèces, groupes de traitement, pays). Des teintes distinctes à luminosité similaire, de sorte qu’aucun groupe ne paraît « plus grand » qu’un autre. → Brewer Set2 / Dark2, ggsci, Okabe–Ito.

Three swatch rows illustrating the palette types: a light-to-dark sequential ramp (YlOrRd), a diverging ramp with a neutral midpoint (RdBu), and a qualitative set of distinct equal-lightness hues (Set2).

Réussissez ce choix et le reste n’est que finition ; ratez-le — un arc-en-ciel sur des données ordonnées, un dégradé séquentiel sur des catégories — et la figure induit en erreur avant même qu’on ait lu le moindre chiffre.

Modèles de couleurs : pourquoi viridis surpasse un arc-en-ciel

Une couleur peut être décrite de trois façons, et le modèle que vous choisissez a son importance pour les données :

  • RGB / hex ("#3a86d4") — comment un écran mélange la lumière rouge, verte et bleue. Parfait pour spécifier une couleur, médiocre pour raisonner dessus : des écarts égaux en RGB ne sont pas des écarts égaux pour l’œil.
  • HSV — teinte, saturation, valeur (hue, saturation, value) ; le sélecteur de couleurs intuitif. Plus facile à ajuster, mais toujours pas perceptuellement régulier — un jaune pleinement saturé paraît bien plus clair qu’un bleu à la même « valeur ».
  • HCL (perceptuel) — teinte, chroma, luminance (hue, chroma, luminance), fondé sur le fonctionnement réel de la vision humaine. Des écarts égaux paraissent égaux, donc la magnitude est fidèlement représentée. C’est exactement pourquoi viridis est perceptuellement uniforme et qu’un naïf rainbow() induit en erreur : l’arc-en-ciel concentre les détails dans certaines plages et invente des bandes vives que les données n’ont jamais eues.

Base R expose le modèle perceptuel via hcl(). Faites tourner la teinte à chroma et luminance constants et vous obtenez un jeu qualitatif régulier et équilibré — aucune couleur ne crie plus fort que les autres :

# Five evenly-spaced hues at constant chroma + luminance (perceptually balanced)
qual <- hcl(h = seq(15, 315, length.out = 5), c = 60, l = 65)
qual
[1] "#DB8782" "#9DA43F" "#00B492" "#5FA4D9" "#D482C8"

Five evenly-spaced HCL hues at constant chroma and luminance, as a balanced swatch row where no color dominates.

Le cercle chromatique : chaud, froid, et comment les teintes se rapportent

La teinte de hcl() est un angle sur le cercle chromatique — et quelques relations valent la peine d’être connues lorsque vous construisez votre propre jeu :

  • Chaud vs froid — les rouges/oranges/jaunes paraissent chauds et avancent ; les bleus/verts paraissent froids et reculent. Une paire chaud–froid est un moyen naturel de contraster deux groupes.
  • Analogues — voisines sur la roue (teintes à ~30° d’écart) : harmonieuses et peu contrastées, une palette calme et cohérente — l’intuition derrière un dégradé séquentiel.
  • Complémentaires — opposées sur la roue (~180° d’écart) : contraste maximal — parfait pour mettre en valeur deux groupes, et l’intuition derrière les deux extrémités d’une palette divergente.

Comme la teinte n’est qu’un angle, elles ne sont qu’à un pas arithmétique les unes des autres — les teintes analogues sont proches, les teintes complémentaires sont à 180° :

base <- 255                                        # a blue starting hue
analogous     <- hcl(c(base - 30, base, base + 30), c = 60, l = 65)
complementary <- hcl(c(base, (base + 180) %% 360),  c = 60, l = 65)

Reliez cela au catalogue : viridis est un dégradé séquentiel et perceptuellement uniforme ; RColorBrewer fournit les trois types (et signale ceux adaptés au daltonisme) ; les jeux de revues scientifiques et Okabe–Ito sont qualitatifs ; et un jeu divergent comme RdBu est le bon choix dès que vos données ont un milieu significatif. Lorsqu’aucun des jeux prêts à l’emploi ne convient, concevez le vôtre avec ces trois mêmes idées.

viridis — le choix par défaut sûr

Les échelles viridis sont perceptuellement uniformes, adaptées au daltonisme et adaptées aux niveaux de gris. ggplot2 les fournit d’origine (aucun paquet supplémentaire n’est nécessaire pour les échelles), et viridisLite vous donne les couleurs brutes pour base R. Il existe plusieurs options : viridis, magma, plasma, inferno, cividis, mako, rocket, turbo.

Swatch bars for the viridis, magma, plasma and inferno color map options.

Dans ggplot2, utilisez les échelles intégrées — scale_color_viridis_d() pour des groupes discrets, scale_color_viridis_c() pour une variable continue (remplacez colorfill pour les aires) :

library(ggplot2)
ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Species)) +
  geom_point(size = 2) +
  scale_color_viridis_d() +
  theme_minimal()

An iris scatter plot with points colored by species using the discrete viridis scale.

Pour base R, viridisLite::viridis(n) renvoie n couleurs : barplot(1:10, col = viridis(10)).

RColorBrewer — séquentielles, divergentes et qualitatives soigneusement sélectionnées

RColorBrewer fournit trois familles : séquentielle (faible→élevé), qualitative (groupes non ordonnés), et divergente (un point médian significatif). Affichez-les toutes :

library(RColorBrewer)
par(mar = c(0, 3, 0, 0))
display.brewer.all()

The full RColorBrewer catalog: sequential, qualitative and diverging palettes stacked as labeled swatch rows.

  • SéquentiellesBlues BuGn BuPu GnBu Greens Greys Oranges OrRd PuBu PuBuGn PuRd Purples RdPu Reds YlGn YlGnBu YlOrBr YlOrRd
  • QualitativesAccent Dark2 Paired Pastel1 Pastel2 Set1 Set2 Set3
  • DivergentesBrBG PiYG PRGn PuOr RdBu RdGy RdYlBu RdYlGn Spectral

Obtenez les codes hexadécimaux d’une palette avec brewer.pal(), ou affichez-en une seule :

library(RColorBrewer)
brewer.pal(n = 8, name = "Dark2")
[1] "#1B9E77" "#D95F02" "#7570B3" "#E7298A" "#66A61E" "#E6AB02" "#A6761D"
[8] "#666666"
par(mar = c(0.5, 0.5, 0.5, 0.5)); display.brewer.pal(n = 8, name = "Dark2")

The eight colors of the ColorBrewer Dark2 qualitative palette.

Dans ggplot2 : scale_fill_brewer(palette = "Dark2") pour les aires, scale_color_brewer() pour les points/lignes. Dans base R : barplot(c(2, 5, 7), col = brewer.pal(3, "RdBu")).

Niveaux de gris

Pour les figures destinées à l’impression seule ou minimalistes, les fonctions scale_fill_grey() / scale_color_grey() de ggplot2 associent les groupes à des nuances de gris (start/end règlent la plus claire/la plus foncée) :

library(ggplot2)
ggplot(iris, aes(Species, Sepal.Length, fill = Species)) +
  geom_boxplot() +
  scale_fill_grey(start = 0.8, end = 0.2) +
  theme_minimal()

An iris box plot filled with a grey scale from light to dark by species.

Palettes de revues scientifiques (ggsci)

Le paquet ggsci (install.packages("ggsci")) rassemble des palettes utilisées par les revues scientifiques — Nature (npg), Science (aaas), Lancet (lancet), Journal of Clinical Oncology (jco), NEJM (nejm), et d’autres — fournies sous forme de fonctions d’échelle ggplot2. Parfait pour les figures de publication :

library(ggplot2)
library(ggsci)
ggplot(iris, aes(Species, Sepal.Length, fill = Species)) +
  geom_boxplot() +
  scale_fill_jco() +          # try scale_fill_npg(), scale_fill_lancet(), scale_fill_aaas()
  theme_classic()

An iris box plot filled with the Journal of Clinical Oncology (jco) palette from ggsci.

Échelle par paire : scale_color_npg() / scale_color_jco() pour les points et les lignes ; pour base R, les générateurs de palettes fournissent un vecteur de couleurs — p. ex. barplot(1:10, col = pal_jco()(10)). Les autres échelles incluent scale_*_aaas(), scale_*_lancet(), scale_*_nejm(), et scale_*_tron() (conçue pour les thèmes sombres).

Palettes Wes Anderson

Le paquet wesanderson comporte 16 palettes tirées des films de Wes Anderson — de petits jeux pleins de caractère pour les données catégorielles (interpolez avec type = "continuous" lorsque vous avez besoin de plus de couleurs) :

install.packages("wesanderson")
library(wesanderson)

names(wes_palettes)               # the 16 palettes
wes_palette("GrandBudapest1")     # a vector of colors

# Discrete fill in ggplot2
ggplot(iris, aes(Species, Sepal.Length, fill = Species)) +
  geom_boxplot() +
  scale_fill_manual(values = wes_palette("GrandBudapest1", 3))

# Interpolate to 100 colors for a gradient
pal <- wes_palette("Zissou1", 100, type = "continuous")

Palettes base-R

Base R fournit cinq générateurs de palettes — rainbow(n), heat.colors(n), terrain.colors(n), topo.colors(n), et cm.colors(n) :

Swatch bars for the five base R palettes: rainbow, heat.colors, terrain.colors, topo.colors and cm.colors.

Utilisez-les directement : barplot(1:5, col = rainbow(5)). Préférez viridis à rainbow pour des données réelles — rainbow n’est pas perceptuellement uniforme et est difficile à lire en cas de daltonisme.

Les 657 noms de couleurs intégrés

R connaît 657 couleurs nomméescolors() les renvoie toutes, et n’importe quel nom fonctionne partout où une couleur est attendue (col = "steelblue"). Voici les 96 premières :

A grid of 96 swatches showing R's built-in named colors with their names.

Il y en a 657 au total (length(colors())) ; parcourez-les toutes avec colors().

Codes de couleurs hexadécimaux

Toute couleur peut être donnée sous forme de code hexadécimal "#RRGGBB" — chaque paire de chiffres règle le niveau de rouge, vert et bleu de 00 à FF ; ajoutez deux chiffres de plus pour l’alpha/la transparence ("#RRGGBBAA"). Utilisez-en un partout où une couleur est attendue : col = "#3a86d4". Un jeu propre et réutilisable à copier :

A swatch row of useful hex color codes, each labeled with its #RRGGBB value.

Convertissez n’importe quel nom de couleur en son code hexadécimal avec col2rgb() + rgb() :

rgb(t(col2rgb("steelblue")), maxColorValue = 255)   # "steelblue" -> "#4682B4"
[1] "#4682B4"

Étendre une palette à davantage de couleurs

Besoin de plus de couleurs qu’une palette n’en fournit ? colorRampPalette() interpole n’importe quel jeu de couleurs en un dégradé lisse de n :

library(RColorBrewer)
more <- colorRampPalette(brewer.pal(9, "Blues"))(18)   # stretch 9 Blues -> 18 colors

An 18-color palette interpolated from the 9-color ColorBrewer Blues with colorRampPalette.

Utilisez le résultat partout : scale_fill_manual(values = more) dans ggplot2, ou col = more dans base R.

Palettes adaptées au daltonisme

Environ 1 homme sur 12 présente une déficience de la vision des couleurs — choisissez des palettes qui y résistent :

  • viridis — uniforme et robuste face à toutes les déficiences courantes (le choix par défaut le plus sûr).
  • ColorBrewerdisplay.brewer.all(colorblindFriendly = TRUE) n’affiche que les jeux sûrs.
  • Okabe–Ito — une palette qualitative de 8 couleurs conçue pour le daltonisme :
okabe_ito <- c("#999999", "#E69F00", "#56B4E9", "#009E73",
               "#F0E442", "#0072B2", "#D55E00", "#CC79A7")

The eight colors of the Okabe-Ito colorblind-safe qualitative palette.

Appliquez-la avec scale_color_manual(values = okabe_ito) dans ggplot2.

Concevoir votre propre palette

Quand aucun jeu prêt à l’emploi ne convient, construisez-en un avec les bases de la théorie des couleurs ci-dessus : décidez d’abord le type de palette (séquentielle pour des données ordonnées, divergente autour d’un point médian significatif, qualitative pour des catégories), puis choisissez les teintes sur la roue — analogues (voisines) pour un rendu calme et cohérent ou complémentaires (opposées) pour un contraste maximal — et raisonnez dans un modèle perceptuel (hcl()) pour que les écarts paraissent aussi réguliers qu’ils le sont réellement. Outils en ligne pratiques : coolors.co, ColorBrewer, et Adobe Color. Importez ensuite les codes hexadécimaux dans R avec colorRampPalette().

Utiliser les palettes dans ggplot2

Cette page est le catalogue. Pour le guide complet sur l’application de la couleur dans ggplot2 — color vs fill, scale_*_manual(), la coloration par groupe, et les dégradés continus — consultez la leçon dédiée : Couleurs ggplot2 en R.

Foire aux questions

Pour presque tous les graphiques, optez pour viridis — elle est perceptuellement uniforme, adaptée au daltonisme, et reste lisible en niveaux de gris, donc vous vous trompez rarement avec elle. Lorsque vous avez besoin de jeux séquentiels, divergents ou qualitatifs soigneusement sélectionnés (cartes thématiques, barres groupées), utilisez RColorBrewer. N’allez au-delà de ces deux options que pour un rendu spécifique — revues scientifiques (ggsci), Wes Anderson, ou les classiques de base R. Évitez le simple rainbow() pour les données : il n’est pas perceptuellement uniforme et échoue en cas de daltonisme.

R fournit 657 noms de couleurs intégrés — exécutez colors() pour tous les lister (voir le catalogue complet), et passez n’importe lequel directement à un graphique, par exemple plot(1:10, col = "steelblue"). Vous pouvez aussi spécifier une couleur sous forme de code hexadécimal au format "#RRGGBB" (par exemple "#3A86D4") ; ajoutez deux chiffres de plus — "#RRGGBBAA" — pour la transparence. Consultez la section sur les codes hexadécimaux pour les construire et les prévisualiser.

viridis et ses variantes (magma, plasma, inferno, cividis) sont adaptées au daltonisme par conception. Dans RColorBrewer, limitez-vous aux palettes signalées comme sûres par display.brewer.all(colorblindFriendly = TRUE). Quel que soit votre choix, vérifiez-le comme le montre la section sur les palettes adaptées au daltonisme — simulez la deutéranopie et affichez le graphique en niveaux de gris — et ne vous reposez jamais sur la couleur comme seul signal.

Les palettes intégrées ont un nombre fixe de couleurs (les jeux RColorBrewer plafonnent à 8–12). Pour étirer n’importe quelle palette au nombre de couleurs dont vous avez besoin, interpolez avec colorRampPalette() : colorRampPalette(brewer.pal(9, "Blues"))(50) renvoie 50 nuances. La section pour étendre une palette l’explique pas à pas — l’outil adapté quand une échelle discrète manque de couleurs pour vos groupes.

Associez la palette à l’échelle concernée. Pour un regroupement discret, utilisez scale_color_viridis_d() / scale_fill_viridis_d(), scale_color_brewer(palette = "Set2"), ou un vecteur manuel avec scale_color_manual(values = my_colors) ; pour une variable numérique, utilisez les jumelles _c (scale_fill_viridis_c()). La leçon Couleurs ggplot2 dédiée couvre en détail color vs fill, la coloration par groupe et les dégradés continus.

Elles correspondent à trois types de données. Une palette séquentielle est une seule teinte allant du clair → foncé, pour des données ordonnées sans centre naturel (effectifs, revenus) — plus foncé signifie plus. Une palette divergente est constituée de deux dégradés séquentiels se rejoignant en un point médian neutre, pour des données ordonnées avec un milieu significatif (corrélations autour de 0, variation par rapport à une référence) — le centre se lit comme « aucune différence ». Une palette qualitative est un ensemble de teintes distinctes à luminosité similaire, pour des catégories non ordonnées (espèces, groupes) — de sorte qu’aucun groupe ne paraît plus grand qu’un autre. La section bases de la théorie des couleurs présente les trois sous forme de nuanciers ; RColorBrewer fournit tous les types.

« Perceptuellement uniforme » signifie que des écarts égaux dans les données paraissent des écarts égaux en couleur pour l’œil humain — la couleur représente ainsi fidèlement la magnitude au lieu d’exagérer certaines plages et d’en aplatir d’autres. Cela vient du choix des couleurs dans un modèle perceptuel comme HCL (teinte, chroma, luminance) plutôt que le RGB brut. viridis est la palette uniforme de référence ; un naïf rainbow() n’est pas uniforme — il invente des bandes vives et masque des détails, ce qui explique pourquoi il induit en erreur sur des données réelles. Voir modèles de couleurs pour l’intuition.

Conclusion

En cas de doute, utilisez viridis (uniforme + adaptée au daltonisme) ou un jeu RColorBrewer choisi selon votre type de données. Tournez-vous vers ggsci ou Wes Anderson pour un rendu spécifique, vers colors() et les codes hexadécimaux pour des couleurs ponctuelles, et vers colorRampPalette() pour étirer n’importe quelle palette au nombre de couleurs dont vous avez besoin — et vérifiez toujours le rendu en niveaux de gris et en cas de daltonisme.

Pour aller plus loin

🟢 Avec un agent IA

Demandez à Prova « quelle palette adaptée au daltonisme convient à mon diagramme en barres groupées ? » — elle répond avec du code que vous pouvez exécuter sur vos propres données. The runtime is the judge. Demander à Prova →

Cette page vous a-t-elle été utile ?

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

Citation

BibTeX
@online{kassambara2026,
  author = {Kassambara, Alboukadel},
  title = {Palettes de couleurs R : la référence complète},
  date = {2026-06-21},
  url = {https://www.datanovia.com/blog/r-color-palettes},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
Kassambara, Alboukadel. 2026. “Palettes de couleurs R : la référence complète.” June 21. https://www.datanovia.com/blog/r-color-palettes.