Je voudrais faire un dégradé de couleur hexadécimal en fonction d'une valeur, par exemple de température.
Pour le moment j'utilise un switch en mettant que entre telle et telle valeur (ex : entre 20 et 25°C) la couleur soit #FF0000 ou rouge.
Je fais un dégradé entre -30 et 50°C, et je vais de bleu foncé à rouge foncé en passant par bleu clair, vert clair, jaune et rouge.
Et je voudrais savoir si il n'y a pas un moyen d'avoir un dégradé de couleur plus précis que tous les 5°C et plutot en fonction de ma valeur avec un moyen en PHP voir Javascript.
Il suffit de savoir comment les codes hexadécimaux fonctionnent et de mettre au point des petites formules mathématiques pour ajuster tout ca dans un modèle de pourcentage.
Donc, le code couleur hexadécimal fonctionne sur le modèle RVB (Rouge-Vert-Bleu). Chaque ensemble de 2 "chiffres" (en hexadécimal, donc ne pas oublier les lettres de A à F qui seront considéré comme des chiffres: 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F) correspond à un niveau, une intensité de la couleur associée codé en hexadécimal de 00 à FF (0 à 255 en décimal).
Par exemple le code #FF0000 contient 255 niveaux de lumière rouge, 0 niveau de vert et de bleu, ce qui donne un rouge très marqué. Le code #FFFF00 donnera quand a lui un jaune (mélange de rouge et de vert).
Il est aussi possible d'assombrir la couleur en diminuant les valeurs comme dans le code #999900 qui donnera un jaune foncé ou le code #990000 qui donnera un rouge plus sombre.
Une fois que le système est compris, il vous suffit de définir les bornes de votre/vos dégradé(s) de couleur et mettre en place des petites formules de pourcentage (rapport entre la taille du dégradé et la plage de valeur de la/des couleur(s)) pour calculer chaque couleur en fonction de l'espace que vous avez pour un dégradé.
Comme vous n'avez pas définit comment vous affichez votre dégradé, je ne peux pas vous faire un exemple mais j'espère que vous pourrez appliquer l'idée générale.