
Choisir ses couleurs sous SAS
novembre 21, 2008Que vous souhaitiez changer sous SAS la couleur d’un titre, la couleur d’une cellule dans un tableau sous Word ou Excel, ou la couleur des barres dans un diagramme en barre, il vous faudra retrouver le nom des couleurs.
Quelques unes, très basiques, ont des pseudonymes compréhensibles par l’homme au premier coup d’oeil. On parle de black (noir), white (blanc), yellow (jaune), red (rouge), green (vert), blue (bleu), etc. Dans l’article qui suit, je vous propose d’élargir votre éventail de couleurs au prisme affiché en début d’article.
1. Tester les couleurs
Pour illustrer les couleurs, je choisi de créer un fichier .rtf (lisible par Word). Dedans, sont affichées les données du data set CLASS situé dans la bibliothèque SASHELP. Un titre précède ce tableau. C’est la couleur de ce titre qui va être changée.
Créer un document .RTF : Pour créer le document .RTF, j’utilise la syntaxe de l’Output Delivery System (ODS) et plus particulièrement les instructions ODS RTF.
Un titre dans le corps du document : Souhaitant voir le titre dans le corps du document et non dans l’en-tête, j’ajoute l’option BODYTITLE.
Ajouter un titre : Pour définir le titre et une couleur autre que celle par défaut (noir), l’instruction TITLE avec son option COLOR= est donné.
ods rtf file='C:/sasref/title_color.rtf' bodytitle; title color=cxFF6600 'Le data set CLASS de la bibliothèque SASHELP'; proc print data=sashelp.class; run; ods rtf close;
Avec ce code, le titre est orangé.

2. Une couleur composée de nuances de rouge, vert et bleu
La couleur orangée de l’exemple a été créée à partir du code CXFF6600. A moi à présent de vous expliquer ce code afin que vous puissiez l’adapter aux couleurs de votre choix. Il faut couper ce code en 4 pour comprendre son sens : CX, FF, 66, 00.
CX : Les lettres CX introduisent une couleur du type RGB. Entendez par RGB, Red/Green/Blue ou en français rouge/vert/bleu. Il va donc s’agit de faire un savant dosage de ces trois couleurs. Ces trois couleurs sont introduites par des codes à deux caractères. Ici, Rouge=FF, Vert=66 et Bleu=00.
256 valeurs par couleur : Chaque dosage peut prendre 256 valeurs différentes. En effet, il s’agit de combiner 16 valeurs (0, 1, 2, 3, 4, 5, 6, 7, 8, A, B, C, D, E, F) pour former des codes à 2 caractères. Les valeurs vont donc de 00, 01,… à FD, FE, FF.
- Rouge : Le rouge varie entre un couleur noir (RED=00) et une rouge très vif (RED=FF)
- Vert : Le vert varie entre un couleur noir (GREEN=00) et une vert très vif (GREEN=FF)
- Bleu : Le bleu varie entre un couleur noir (BLUE=00) et une rouge très vif (BLUE=FF)
Un mélange de blanc et noir :
- Blanc : Si vous mettez la couleur les couleurs les plus vives ensemble (RED=FF, GREEN=FF et BLUE=FF), vous obtenez du blanc.
- Noir : A l’inverse, si vous mettez les couleurs les plus sombres ensemble (RED=00, GREEN=00, BLUE=00), vous obtenez du noir.
- Gris : les nuances de gris s’obtiennent en utilisant le même dosage de rouge, vert et bleu. Ainsi CXDDDDDD sera un gris très clair alors que CX101010 sera très foncé.
3. Passer de chiffres 0-255 à des codes à deux chiffres 00-FF
Vous pouvez retrouver les valeurs allant de 0 à 255 sous Excel par exemple. Mais comment savoir à quoi correspond 102 par exemple lorsqu’on utilise les codes allant de 00 à FF ? Je vous ai donc reconstitué un petit code pour faire le rapprochement.
proc format; value colorfmt 10='A' 11='B' 12='C' 13='D' 14='E' 15='F'; run; data color_code (drop=i j); do i=0 to 15; do j=0 to 15; color_lst=cat(put(i,colorfmt.),put(j,colorfmt.)); output; end; end; run; proc print data=color_code; run;
4. Les nuances de gris
Voici donc une liste de grisés :
rouge vert bleu cx_color 255 255 255 CXFFFFFF (blanc) 248 248 248 CXF8F8F8 234 234 234 CXEAEAEA 221 221 221 CXDDDDDD 192 192 192 CXC0C0C0 178 178 178 CXB2B2B2 150 150 150 CX969696 128 128 128 CX808080 119 119 119 CX777777 95 95 95 CX5F5F5F 77 77 77 CX4D4D4D 41 41 41 CX292929 51 51 51 CX333333 28 28 28 CX1C1C1C 17 17 17 CX111111 8 8 8 CX080808 0 0 0 CX000000 (noir)
5. Retrouver les couleurs du prisme
Le prisme en haut de la page contient 12 lignes. Voici pour chacune de ces lignes (de haut en bas et de gauche à droite) les couleurs rouge, vert et bleu qui composent chaque case ainsi que le code à utiliser par SAS.
position rouge vert bleu cx_color
Ligne 1
1 0 51 102 CX003366 2 51 102 153 CX336699 3 51 102 204 CX3366CC 4 0 51 153 CX003399 5 0 0 153 CX000099 6 0 0 204 CX0000CC 7 0 0 102 CX000066
Ligne 2
1 0 102 102 CX006666 2 0 102 153 CX006699 3 0 153 204 CX0099CC 4 0 102 204 CX0066CC 5 0 51 204 CX0033CC 6 0 0 255 CX0000FF 7 51 51 255 CX3333FF 8 51 51 153 CX333399
Ligne 3
1 0 128 128 CX008080 2 0 153 153 CX009999 3 51 204 204 CX33CCCC 4 0 204 255 CX00CCFF 5 0 153 255 CX0099FF 6 0 102 255 CX0066FF 7 51 102 255 CX3366FF 8 51 51 204 CX3333CC 9 102 102 153 CX666699
Ligne 4
1 51 153 102 CX339966 2 0 204 153 CX00CC99 3 0 255 204 CX00FFCC 4 0 255 255 CX00FFFF 5 51 204 255 CX33CCFF 6 51 153 255 CX3399FF 7 102 153 255 CX6699FF 8 102 102 255 CX6666FF 9 102 0 255 CX6600FF 10 102 0 204 CX6600CC
Ligne 5
1 51 153 51 CX339933 2 0 204 102 CX00CC66 3 0 255 153 CX00FF99 4 102 255 204 CX66FFCC 5 102 255 255 CX66FFFF 6 102 204 255 CX66CCFF 7 153 204 255 CX99CCFF 8 153 153 255 CX9999FF 9 153 102 255 CX9966FF 10 153 51 255 CX9933FF 11 153 0 255 CX9900FF
Ligne 6
1 0 102 0 CX006600 2 0 204 0 CX00CC00 3 0 255 0 CX00FF00 4 102 255 153 CX66FF99 5 153 255 204 CX99FFCC 6 204 255 255 CXCCFFFF 7 204 236 255 CXCCECFF 8 204 204 255 CXCCCCFF 9 204 153 255 CXCC99FF 10 204 102 255 CXCC66FF 11 204 0 255 CXCC00FF 12 153 0 204 CX9900CC
Ligne 7
1 0 51 0 CX003300 2 0 128 0 CX008000 3 51 204 51 CX33CC33 4 102 255 102 CX66FF66 5 153 255 153 CX99FF99 6 204 255 204 CXCCFFCC 7 255 255 255 CXFFFFFF 8 255 204 255 CXFFCCFF 9 255 153 255 CXFF99FF 10 255 102 255 CXFF66FF 11 255 0 255 CXFF00FF 12 204 0 204 CXCC00CC 13 102 0 102 CX660066
Line 8
1 51 102 0 CX336600 2 0 153 0 CX009900 3 102 255 51 CX66FF33 4 153 255 102 CX99FF66 5 204 255 153 CXCCFF99 6 255 255 204 CXFFFFCC 7 255 204 204 CXFFCCCC 8 255 153 204 CXFF99CC 9 255 102 204 CXFF66CC 10 255 51 204 CXFF33CC 11 204 0 153 CXCC0099 12 128 0 128 CX800080
Ligne 9
1 51 51 0 CX333300 2 102 153 0 CX669900 3 153 255 51 CX99FF33 4 204 255 102 CXCCFF66 5 255 255 153 CXFFFF99 6 255 204 153 CXFFCC99 7 255 153 153 CXFF9999 8 255 102 153 CXFF6699 9 255 51 153 CXFF3399 10 204 51 153 CXCC3399 11 153 0 153 CX990099
Ligne 10
1 102 102 51 CX666633 2 153 204 0 CX99CC00 3 204 255 51 CXCCFF33 4 255 255 102 CXFFFF66 5 255 204 102 CXFFCC66 6 255 153 102 CXFF9966 7 255 124 128 CXFF7C80 8 255 0 102 CXFF0066 9 214 0 147 CXD60093 10 153 51 102 CX993366
Ligne 11
1 128 128 0 CX808000 2 204 204 0 CXCCCC00 3 255 255 0 CXFFFF00 4 255 204 0 CXFFCC00 5 255 153 51 CXFF9933 6 255 102 0 CXFF6600 7 255 80 80 CXFF5050 8 204 0 102 CXCC0066 9 102 0 51 CX660033
Ligne 12
1 153 102 51 CX996633 2 204 153 0 CXCC9900 3 255 153 0 CXFF9900 4 204 102 0 CXCC6600 5 255 51 0 CXFF3300 6 255 0 0 CXFF0000 7 204 0 0 CXCC0000 8 153 0 0 CX990000
Ligne 13
1 102 51 0 CX663300 2 153 102 0 CX996600 3 204 51 0 CXCC3300 4 153 51 0 CX993300 5 153 0 0 CX990000 6 128 0 0 CX800000 7 165 0 33 CXA50021















Bonjour,
Il y a une petite inversion dans la démonstration. FF correspond à une couleur très prononcée alors que 00 correspond à l’absence de cette couleur. Par exemple, red = CXFF0000 (rouge très prononcé, pas de vert, pas de bleu).
De la même manière, on considère le blanc (CXFFFFFF) comme un mélange de toutes les couleurs et le noir(CX000000) comme l’absence de couleur.
Cordialement.
En fait, aucune des deux solutions n’est bonne.
Pour RED, 00 correspond à un noir et FF à un rouge très vif. J’ai mis à jour l’article. Merci pour le feedback.
Véronique
Bonjour,
Je cherche les codes couleurs à l’aide du prisme par contre je compte 13 lignes (et non 12), du coup je ne sais pas d’ou vient le decallage.
Merci.
Je viens de faire la correction concernant les couleurs. En prime j’ai ajouté un lien en fin d’article vers une image contenant à la fois les couleurs et les codes CX.
[...] Choisir ses couleurs sous SAS [...]