R Language
Schémas de couleurs pour les graphiques
Recherche…
viridis - palettes imprimées et daltoniennes
Viridis (nommé d'après le poisson chromis viridis ) est un schéma de couleurs récemment développé pour la bibliothèque Python matplotlib
(la présentation vidéo du lien explique comment le schéma de couleurs a été développé et quels sont ses principaux avantages). Il est porté de manière transparente sur R
Il existe 4 variantes de schémas de couleurs: magma
, plasma
, inferno
et viridis
(par défaut). Ils sont choisis avec le paramètre d' option
et sont codés en A
, B
, C
et D
, en conséquence. Pour avoir une impression des 4 couleurs, regardez les cartes:
( image souce )
Le paquet peut être installé depuis CRAN ou github .
La vignette du forfait viridis
est tout simplement géniale.
Une belle caractéristique du schéma de couleurs de viridis
est l’intégration avec ggplot2
. Dans le paquet, deux fonctions spécifiques à ggplot2
sont définies: scale_color_viridis()
et scale_fill_viridis()
. Voir l'exemple ci-dessous:
library(viridis)
library(ggplot2)
gg1 <- ggplot(mtcars)+
geom_point(aes(x = mpg, y = hp, color = disp), size = 3)+
scale_color_viridis(option = "B")+
theme_minimal()+
theme(legend.position = c(.8,.8))
gg2 <- ggplot(mtcars)+
geom_violin(aes(x = factor(cyl), y = hp, fill = factor(cyl)))+
scale_fill_viridis(discrete = T)+
theme_minimal()+
theme(legend.position = 'none')
library(cowplot)
output <- plot_grid(gg1,gg2, labels = c('B','D'),label_size = 20)
print(output)
RColorBrewer
Le projet ColorBrewer est un outil très populaire pour sélectionner des palettes de couleurs harmonieusement assorties. RColorBrewer
est un port du projet pour R
et fournit également des palettes compatibles avec les daltoniens.
Un exemple d'utilisation
colors_vec <- brewer.pal(5, name = 'BrBG')
print(colors_vec)
[1] "#A6611A" "#DFC27D" "#F5F5F5" "#80CDC1" "#018571"
RColorBrewer
crée des options de coloration pour ggplot2
: scale_color_brewer
et scale_fill_brewer
.
library(ggplot2)
ggplot(mtcars)+
geom_point(aes(x = mpg, y = hp, color = factor(cyl)), size = 3)+
scale_color_brewer(palette = 'Greens')+
theme_minimal()+
theme(legend.position = c(.8,.8))
Une fonction pratique pour voir un vecteur de couleurs
Assez souvent, il faut entrevoir la palette de couleurs choisie. Une solution élégante est la fonction auto-définie suivante:
color_glimpse <- function(colors_string){
n <- length(colors_string)
hist(1:n,breaks=0:n,col=colors_string)
}
Un exemple d'utilisation
color_glimpse(blues9)
espace de couleurs - interface click & drag pour les couleurs
L' colorspace
des colorspace
package fournit une interface graphique permettant de sélectionner une palette. A l'appel de la fonction choose_palette()
, la fenêtre suivante apparaît:
Lorsque la palette est choisie, appuyez simplement sur OK
et n'oubliez pas de stocker la sortie dans une variable, par ex. pal
.
pal <- choose_palette()
La sortie est une fonction qui prend n
(nombre) en entrée et produit un vecteur de couleur de longueur n
fonction de la palette sélectionnée.
pal(10)
[1] "#023FA5" "#6371AF" "#959CC3" "#BEC1D4" "#DBDCE0" "#E0DBDC" "#D6BCC0" "#C6909A" "#AE5A6D" "#8E063B"
fonctions de base de couleur R
Function colors()
répertorie tous les noms de couleurs reconnus par R. Il y a un joli PDF où l'on peut réellement voir ces couleurs.
colorRampPalette
crée une fonction qui interpole un ensemble de couleurs données pour créer de nouvelles palettes de couleurs. Cette fonction de sortie prend n
(nombre) en entrée et produit un vecteur de couleur de longueur n
interpolant les couleurs initiales.
pal <- colorRampPalette(c('white','red'))
pal(5)
[1] "#FFFFFF" "#FFBFBF" "#FF7F7F" "#FF3F3F" "#FF0000"
Toute couleur spécifique peut être produite avec une fonction rgb()
:
rgb(0,1,0)
produit green
couleur green
.
Des palettes aux couleurs daltoniennes
Même si les daltoniens peuvent reconnaître un large éventail de couleurs, il peut être difficile de différencier certaines couleurs.
RColorBrewer
fournit des palettes RColorBrewer
daltoniens:
library(RColorBrewer)
display.brewer.all(colorblindFriendly = T)
Le Color Universal Design de l’Université de Tokyo propose les palettes suivantes:
#palette using grey
cbPalette <- c("#999999", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")
#palette using black
cbbPalette <- c("#000000", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")