3 min read

Les couleurs dans R

Un peu de couleur

Ajoutons un peu de couleurs au graphique diesel:

library(ggplot2)
library(readr)
diesel <- read_delim("diesel.csv", delim = ";", 
    escape_double = FALSE, col_types = cols(Date = col_date(format = "%d/%m/%Y"), 
        Prix = col_number()), locale = locale(date_names = "fr", 
        decimal_mark = ","), trim_ws = TRUE)
# View(diesel)
ggplot(diesel, aes(Date,Prix)) +
    geom_line()+
    labs(title = "Evolution du prix du diesel",
         subtitle = "Principalement station Payot",
         caption = "De Janvier 2021 à Octobre 2021",
         y = "Prix (€)") +
  theme(
  plot.title = element_text(color = "red", size = 12, 
                            face = "bold", hjust = 0.5),
  plot.subtitle = element_text(color = "blue", hjust = 0.5),
  plot.caption = element_text(color = "green", face = "italic")
)

R connait une liste de 657 couleurs, c’est pas mal.

Affichons le nom des 30 premières couleurs

Pour cela , créons un objet nommé r_color qui va contenir ces noms, et appelons les en-têtes .

> r_color <- colors()
> head(r_color, 30)
 [1] "white"          "aliceblue"      "antiquewhite"   "antiquewhite1"  "antiquewhite2"  "antiquewhite3" 
 [7] "antiquewhite4"  "aquamarine"     "aquamarine1"    "aquamarine2"    "aquamarine3"    "aquamarine4"   
[13] "azure"          "azure1"         "azure2"         "azure3"         "azure4"         "beige"         
[19] "bisque"         "bisque1"        "bisque2"        "bisque3"        "bisque4"        "black"         
[25] "blanchedalmond" "blue"           "blue1"          "blue2"          "blue3"          "blue4" 

Mais on peut également charger des palettes de couleurs aux nombres de 6:

  • Echelles de couleurs Viridis [package viridis].
  • Palettes Colorbrewer [packageRColorBrewer]
  • Palettes de couleurs grises [package ggplot2]
  • Palettes de couleurs des revues scientifiques [package ggsci]
  • Palettes de couleurs Wes Anderson [package wesanderson]
  • Palettes de couleurs de base R : rainbow, heat.colors, cm.colors.

Il semble que la palette Viridis de Simon Garnier soit la plus robuste, et adapté au daltonien, ce genre de palette est utilisée pour représenter des répartitons d’espèces, ou les caratéristique de différentes espèces (taille, poids, formes) ce que nous verrons avec le jeu de données iris.

Le package viridis contient quatre échelles de couleurs séquentielles : “Viridis” (le premier choix) et trois alternatives aux propriétés similaires (“magma”, “plasma” et “inferno”).

Affichons des palettes

RColorBrewer

RColorBrewer a une trentaine de palettes de couleurs , contenant de 8 à 11 couleurs.

library(RColorBrewer)
display.brewer.all()

Affichons une seule palette

Spectral
library(RColorBrewer)
display.brewer.pal(n = 11, name = 'Spectral')

Pastel 2
library(RColorBrewer)
display.brewer.pal(n = 8, name = 'Pastel2')

Afficher les palettes adaptées aux daltonien

library(RColorBrewer)
display.brewer.all(colorblindFriendly = TRUE)

Dark2
library(RColorBrewer)
display.brewer.pal(n = 8, name = 'Dark2')

Afficher le code hexadecimal des couleurs d’une palette

Pastel2
library(RColorBrewer)
brewer.pal(n = 8, name = "Pastel2")
## [1] "#B3E2CD" "#FDCDAC" "#CBD5E8" "#F4CAE4" "#E6F5C9" "#FFF2AE" "#F1E2CC"
## [8] "#CCCCCC"
Spectral
library(RColorBrewer)
brewer.pal(n = 11, name = "Spectral")
##  [1] "#9E0142" "#D53E4F" "#F46D43" "#FDAE61" "#FEE08B" "#FFFFBF" "#E6F598"
##  [8] "#ABDDA4" "#66C2A5" "#3288BD" "#5E4FA2"

Retour au graphique

Je préfère ces couleurs

library(ggplot2)
library(RColorBrewer)
ggplot(diesel, aes(Date,Prix)) +
    geom_line()+
    labs(title = "Evolution du prix du diesel",
         subtitle = "Principalement station Payot",
         caption = "De Janvier 2021 à Octobre 2021",
         y = "Prix (€)") +
  theme(
  plot.title = element_text(color = "#9E0142", size = 12, 
                            face = "bold", hjust = 0.5),
  plot.subtitle = element_text(color = "#3288BD", hjust = 0.5),
  plot.caption = element_text(color = "#66C2A5", face = "italic")
)

Wes Anderson

Wes Anderson est un réalisateur américains , le noms des palettes de couleurs correspondent aux noms de ses films Biographie allociné

library(wesanderson)
names(wes_palettes)
##  [1] "BottleRocket1"  "BottleRocket2"  "Rushmore1"      "Rushmore"      
##  [5] "Royal1"         "Royal2"         "Zissou1"        "Darjeeling1"   
##  [9] "Darjeeling2"    "Chevalier1"     "FantasticFox1"  "Moonrise1"     
## [13] "Moonrise2"      "Moonrise3"      "Cavalcanti1"    "GrandBudapest1"
## [17] "GrandBudapest2" "IsleofDogs1"    "IsleofDogs2"

Ce travail est sous licence Attribution-NonCommercial 4.0 International. Attribution-NonCommercial 4.0 International