h1

Choisir ses couleurs sous SAS

novembre 21, 2008

Que 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é.

color_example

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

Résumé des 13 lignes de couleurs

6 commentaires

  1. 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.


  2. 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


  3. 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.


  4. 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.


  5. […] Choisir ses couleurs sous SAS […]


  6. […] Choisir ses couleurs sous SAS […]



Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :