> langage et graphiques > Graphiques > Couleurs
Couleurs
Pour avoir la liste des couleurs disponibles : colors().
Obtention d'un panel de couleurs :
- rainbow(10) : fournit 10 couleurs en arc-en-ciel.
- heat.colors(10) : fournit 10 couleurs de chaleur.
- terrain.colors(10) : fournit 10 couleurs de terrain.
- topo.colors(10) : fournit 10 couleurs topographiques.
- cm.colors(10) : fournit 10 couleurs allant de cyan à magenta.
Pour visualiser toutes les couleurs qui ont le nom "red" dedans :
myCol <- grep("red", colors(), value = TRUE)
pie(rep(1, length(myCol)), myCol, col = myCol)
Génération d'un vecteur de niveaux de gris : gray(seq(0, 1, 0.1)) : renvoie un vecteur de gris allant du noir au blanc (avec 11 valeurs régulièrement espacées d'après la séquence).
Génération d'une couleur en coordonnées RGB (Red-Green-Blue) :
- rgb(0.7, 0.2, 0.6) : retourne une couleur en fonction des valeurs R = 0.7, G = 0.2 et B = 0.6 (entre 0 et 1), donc ici du violet.
- rgb(178, 51, 153, maxColorValue = 255) : retourne une couleur en fonction des valeurs R = 178, G = 51 et B = 153 entre 0 et la valeur indiquée par maxColorValue. Préférer une valeur de maxColorValue à 255, car c'est plus efficace.
Pour avoir 2n + 1 couleurs RGB du bleu saturé au rouge saturé en passant par le blanc pour la couleur du milieu (utile pour représenter une déviation par rapport à une moyenne (rouge = plus fort, bleu = plus faible) :
rgb(c(seq(0, 1, 1 / n), rep(1, n)), c(abs(seq(0, 1 - 1/n, 1/ n)), 1, abs(seq(1 - 1/n, 0, -1 /n))), c(rep(1, n), abs(seq(1, 0, -1 / n)))) (la valeur absolue est là à cause des erreurs d'arrondi).
Pour avoir n + 1 couleurs RGB entre du bleu noir et du blanc en passant par des gradations de bleu :
a <- 0.5; sapply(seq(0, 1, 1 / n), function(x) { return(rgb(x, x, (1 - a) * x + a))})
a est un coefficient qui permet de régler la saturation du bleu :
- avec a = 0, bleu totalement désaturé : on a du noir comme couleur la plus foncée.
- avec a = 1, bleu totalement saturé : on a du bleu pur comme couleur la plus foncée.
Génération d'une couleur en coordonnées HSV (Hue-Saturation-Value) :
- hsv(0.86, 0.71, 0.7) : retourne une couleur avec H = 0.86 (nuance), S = 0.71 (saturation) et V = 0.7 (intensité), les valeurs H, S et V étant entre 0 et 1.
Conversion de rgb en hsv :
Récupération des valeurs d'une liste de couleurs nommées :
col2rgb(c("orange", "blue")) : renvoie une matrice avec une colonne par couleur, et 3 lignes red, green et blue, et les valeurs correspondantes entre 0 et 255.
Copyright Aymeric Duclert
programmer en R, tutoriel R, graphes en R