Bonjour à tous,
Pour les besoins de traitement de données, je crée des graphiques qui sont représentés sur un axe x-y mais chaque point à sa couleur unique.
Cette couleur est définie par la valeur de ce point.
La couleur rouge va représenter le point de plus haute valeur, et la couleur bleue celle de plus petite couleur.
Les valeurs situées à la moitié environ seront représentés par la couleur verte.
Je cherche donc à calculer la couleur exacte pour environ 4000 points.
Actuellement, j'ai cette fonction :
Mais, après avoir chargé 4000 données avec des valeurs entre 6 et 20, et relativement linéaires, je n'obtiens que du bleu et du rouge. Alors que je devrai avoir du vert certaines fois ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 function datatocolor($min, $max, $value) { //var v = 256*256*r + 256*g + b; $half = (($min + $max) / 2); if ($value > $half) { $r = (255 * ($value+$min-$half)) / $half; $g = 255 - $r; $b = 0; } else { $b = (255 * ($half-$value+$min)) / $half; $g = 255 - $b; $r = 0; } $color = array(intval($r), intval($g), intval($b)); return $color; }
Ca doit être simple ... Mais je bloque un peu.
Merci d'avance pour tout éclaircissement
Partager