4 min read

Theme, titre et label

Ajoutons un titre

Un titre s’ajoute simplement avec labs pour label, qui dispose de plusieurs options, le code et le graphique sont suffisamment explicite pour ne pas détailler.

Nous pouvons donc ajouter:

  • un titre
  • un sous-titre
  • une légende

C’est ce que je nomme le fond que je distingue de la forme.

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)
library(ggplot2)
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 (€)")

Le fond et la forme

J’aborderais ce principe dans un article sur le markdown , mais d’une manière générale les documents textes un peu élaboré fonctionnent sur le même principe . C’est la mise en page.

Un peu de couleur

library(ggplot2)
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")
)

C’est quand même moche …

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 apelons 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

library(RColorBrewer)
display.brewer.all()

Affichons une seule palette

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

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

Afficher les palettes adaptées aux daltonien

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

Afficher le code hexadecimal des couleurs d’une palette

library(RColorBrewer)
brewer.pal(n = 8, name = "Pastel2")
## [1] "#B3E2CD" "#FDCDAC" "#CBD5E8" "#F4CAE4" "#E6F5C9" "#FFF2AE" "#F1E2CC"
## [8] "#CCCCCC"
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"