Accueil > R - Graphisme > Couleurs en dégradé sur des variables factorielles
Couleurs en dégradé sur des variables factorielles
jeudi 2 décembre 2021, par
Les palettes de couleurs de R que ce soit celles de base ou celles fournies par différents packages permettent de bien visualiser nos graphiques. montrer un dégradé pour une variable numérique est simple, mais pour une variable factorielle ? Montrer une variable factorielle ordonnée (par exemple une échelle de Likert) avec une progression de couleur me semble plus parlant que rouge- vert-bleu-jaune.
Prenont un graphique montrant pour une population le poids (variable numérique) selon des tranches d’âge (variable catégorielle ordonnée) représenté donc par des boxplot avec un code (écrit au plus simple) :
ggplot(zz) +
aes (x = cut_age, y = poids, fill = cut_age) +
geom_boxplot()

Beau graphique mais les couleurs ne montrent pas la progression des âges, on voudrait plutôt un dégradé. On va l’obtenir en créant un vecteurs des couleurs avec la fonction [**colorRampPalette*] du package [**grDevices*]. Cette fonction prend deux arguments , le premier définit la palette de couleurs à utiliser, le second le nombre de couleurs voulues. Par exemple :
coldeg <- colorRampPalette(hcl.colors(2, "Temps"))(4)
ggplot(zz) +
aes (x = cut_age, y = poids) +
geom_boxplot(fill = coldeg)

Attention, la couleur n’est plus dépendante du jeu de données donc doit être indiquée comme argument de geom_... Et le choix des couleurs ne dépend que de votre sens artistique.
Pour mémoire un graphique sans titre ni légende est nul.
Remerciement à PK-R sur le forum Slack/grrr pour cette astuce.