rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Choix d'une palette de couleurs

sebsauvage, le lundi 20 novembre 2006 à 14:51:26
Bonjour !

Voilà: Je fais des graphes (barres, lignes, camemberts...). Mon problème est de bien choisir les couleurs.
Parfois j'ai 2, 3 ou 4 catégories, parfois plus.

- Il faut qu'on puisse bien les distinguer à l'écran.
- Il faut qu'on puisse aussi les distinguer à l'impression (en niveaux de gris).

(Les couleurs par défaut d'Excel ou OpenOffice sont immondes.)

Est-ce que vous auriez des sites avec des recommandations ?
En particulier pour de petites palettes (2 à 6 couleurs).


Je pense a priori à des couleurs pastels, avec des teintes (hues) bien différenciées (répartitions sur le cercle chromatique), ce qui devrait permettre de bien les différencier.


Merci d'avance.
“Life is short - You need Python” -- Bruce Eckel, membre du comité ANSI C++
Répondre à sebsauvage  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
king, le lundi 20 novembre 2006 à 17:53:41
ben ça risque d'être un brin compliqué, ça dépend de l'imprimante (certaines permettent une prévue chromatique et d'autres pas).

Tu peux toujours tester les graphs sur variantes de gris (ce que permet photoshop et d'autres).

Sinan il y a un site qui s'est spécialisé sur les couleurs, faudra que je regarde si j'ai encore l'url (j'ai un petit trou de mémoire) :-)
Répondre à king

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
king, le lundi 20 novembre 2006 à 19:31:32
j'ai retrouvé l'url, si toujours intéressé:
http://pourpre.com/
Répondre à king

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sebsauvage, le lundi 20 novembre 2006 à 22:14:22
Merci. Intéressant, le site. “Life is short - You need Python” -- Bruce Eckel, membre du comité ANSI C++
Répondre à sebsauvage

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sebsauvage, le mardi 21 novembre 2006 à 15:52:35
Bon, après un peu de recherche (y'a vraiment pas grand chose sur le web), voilà ce que j'ai trouvé:

Méthode 1:

En utilisant HSL:

- Garder toujours garder une saturation maximale (S=1)
- Tourner autour du cercle chromatique (H de 0 à 1). Prendre au maximum 7 points.
- S'il y a besoin de plus de couleurs différentes, garder ces 7 teintes et varier la luminosité (L).

( Source: http://wiki.tcl.tk/666 )


Méthode 2:

- générer une couleur aléatoire RGB
- convertir en HSV et rejeter la couleur si elle a V<0.7

( Source: http://wiki.tcl.tk/10330 )


J'ai plus qu'à essayer ça...

(La méthode 2 n'assure pas qu'il n'y aura pas de couleurs identiques).

“Life is short - You need Python” -- Bruce Eckel, membre du comité ANSI C++
Répondre à sebsauvage

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sebsauvage, le mercredi 22 novembre 2006 à 09:58:42
Bon je vous livre le fruit de mes réflexions (même si je ne considère pas ça comme une solution définitive).

Je me contente de tourner autour du cercle chromatique, avec S=0.9 et L=0.85
(Je suis obligé de prend des couleurs moins pastel, sinon elles sont trop difficiles à distinguer, d'où le S=0.9).

Ce qui donne (pour 7 couleurs): http://sebsauvage.net/temp/ccm/palette00.png

Pour éviter d'avoir des couleurs adjacentes de teintes trop proches, j'entrelace les couleurs: http://sebsauvage.net/temp/ccm/palette01.png

Et au final, je n'utilise cette méthode que quand j'ai une série de plus de 7.
Pour 7 et moins, j'ai finalement créé une palette à la main avec des couleurs qui me semblent mieux différenciées:
http://sebsauvage.net/temp/ccm/palette02.png
(C'est fou le boulot que ça peut être de créer une "simple" palette de 7 couleurs.)

Je trouve que la donne une meilleure lisibilité.


Voici le code Python:
def color_generate(n):
    """ Returns a palette of colors suited for charting.
    
        Input: 
            n (integer) : The number of colors to return
            
        Output:
            A list of colors in HTML notation (eg.['#cce0ff', '#ffcccc', '#ccffe0', '#f5ccff', '#f5ffcc'])
       
        Example:
            >>> print color_generate(5)
            ['#5fcbff','#e5edad','#f0b99b','#c3e5e4','#ffff64']
    """
    if n==0:
        return []   

    small_palette = ['#5fcbff','#e5edad','#f0b99b','#c3e5e4','#ffff64','#ffbcf0','#ffd348']
    if n<=len(small_palette):
        return small_palette[:n]
    start_hue = 2.0/3.0   # 0=red    1/3=0.333=green   2/3=0.666=blue 
    saturation = 0.9
    lightness = 0.85
    colors = ['#%02x%02x%02x' % HSL_to_RGB(hue,saturation,lightness) for hue in floatrange(start_hue,start_hue+1,n+1)][:-1]
    return colors[0::2]+colors[1::2]


(Cette fonction utilise les fonctions HSL_to_RGB() et floatrange() que vous trouverez sur mon site.)


Voilà un exemple de ce que ça donne (J'utilise matplotlib pour créer les graphes):
http://sebsauvage.net/temp/ccm/palette_exemple01.png
http://sebsauvage.net/temp/ccm/palette_exemple02.png


ça me semble acceptable.


Attention: Ne pas utiliser ces couleurs pour tracer des lignes (c'est trop clair). Elles sont uniquement valables pour remplir des formes (barres, camemberts...)



Je suis quand même assez surpris: Il y a tellement de monde qui fait des graphes, tout le temps, en entreprise. Je suis surpris qu'on trouve si peu de réponses sur internet sur ce sujet.
“Life is short - You need Python” -- Bruce Eckel, membre du comité ANSI C++
Répondre à sebsauvage

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sebsauvage, le mercredi 22 novembre 2006 à 10:04:27
Et je n'ai pas encore testé le rendu en noir & blanc :|


Effectivement, comme tu dis, ça dépend aussi de la fonction de transfer de l'imprimante pour convertir en niveaux de gris.
ça doit être différent selon les imprimantes. :-/
“Life is short - You need Python” -- Bruce Eckel, membre du comité ANSI C++
Répondre à sebsauvage

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 king, le mercredi 22 novembre 2006 à 12:24:32
Je dois avouer ne rien connaître à Python, donc je suis un peu largué :-)

Pour l'imprimante, j'en ai une basique de chez basique et pour les variantes de gris, y a quelque surprises de temps en temps. Ce pourquoi je teste d'abord sous Photoshop.

A l'école où j'ai suivi les cours, ils en ont une qui permet de voir si les couleurs choisies seront correctement gérées et offre une prévue en variation de gris.
Répondre à king
Logiciels pertinents trouvés dans les téléchargements
Télécharger Easy Picture2icon 2.5Easy Picture2icon - Pourquoi utiliser un éditeur d'icônes si vous pouvez choisir vos images favorites en tant qu'icônes. Easy Picture2Icon est...Catégorie: Graphisme
Licence: Freeware/gratuit
Télécharger Tail Ace 2.0.1Tail Ace - Tail Ace est un utilitaire de poursuite pour Windows. Il fonctionne comme les commandes de poursuite UNIX mais avec plus de...Catégorie: Gestion de fichiers
Licence: Freeware/gratuit
Télécharger la boite a couleurs 1.6.15la boite a couleurs - La Boîte à Couleurs est une application pour Windows écrite par Benjamin Chartier. Comme son nom l'indique, il offre des...Catégorie: Couleur
Licence: Freeware/gratuit
Télécharger Capteur de Couleurs 2.1Capteur de Couleurs - Capteur de Couleurs est une application de capture de couleur. Il est rapied et facile à utiliser. Il permet de déterminer...Catégorie: Capture
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « Choix d'une palette de couleurs »
Toutes les réponses pour « Choix d'une palette de couleurs »