Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
MauriceLudo
Creator II
Creator II

Couleur dégradée

Bonjour,

Je cherche une fonction ou méthode pour coloré un tableau selon le pourcentage de chaque cellule.

Ce-joint un Screenshots de ce que je cherche à mettre en place.

Merci à vous

Maurice 

7 Replies
sfatoux72
Partner - Specialist
Partner - Specialist

‌Tu peux utiliser les fonctions ColorMix1 ou ColorMix2.

https://help.qlik.com/fr-FR/qlikview/12.1/Subsystems/Client/Content/ChartFunctions/ColorFunctions/co...

Avec ColorMix1 tu spécifies une couleur de départ et une d'arrivÉric. Il va créer un dégradé entre ces 2 couleurs. Tu spécifie ensuite un index entre 0 et 1 que tu calcules en fonction de tes données. Il te retourne la couleur correspondante dans le dégrad.

Avec ColorMix2, c'est la même logique mais tu as 3 couleurs et l'index varie de -1 à 1, 0 correspondant à la couleur central.

Je pense que ColorMix2 correspond mieux à ton cas qui varie du rouge au vert en passant par le jaune.

Un assistant est disponible dans l'éditeur d'expression :

https://help.qlik.com/fr-FR/qlikview/12.1/Subsystems/Client/Content/Colormix_Wizard.htm

MauriceLudo
Creator II
Creator II
Author

Je ne suis pas sur que je pourrais l'utiliser avec deux dimension, dans mon expression j'ai l'heure que varie.

sfatoux72
Partner - Specialist
Partner - Specialist

Si tu peux 😉

Si tu veux ça :

Community_1230514.png

Nomme ton expression Valeur

Et défini l'expression de ta couleur de fond ici:

Community_1230514_2.png

Avec l'expression suivante :

ColorMix2 (if(rangemin(1,rangemax(Valeur,0.7))<0.9,-Sqrt(-(rangemin(1,rangemax(Valeur,0.7))-0.9)/(0.9-0.7)),Sqrt((rangemin(1,rangemax(Valeur,0.7))-0.9)/(1-0.9))), ARGB(255, 255, 0, 0), ARGB(255, 0, 128, 0), ARGB(255, 255, 255, 0))

Tu peux bien sur modifier les paramètres:

  • Valeur                            Nom de ton expression
  • ARGB(255, 255, 0, 0)         Couleur de la valeur basse (rouge dans ce cas)
  • ARGB(255, 0, 128, 0)           Couleur de la valeur haute (vert dans ce cas)
  • ARGB(255, 255, 255, 0)       Couleur de la valeur intermédiaire (jaune dans ce cas)
  • 0.7                                Limite de la valeur basse
  • 1                                  Limite de a valeur haute
  • 0.9                                Limite de la valeur intermédiaire

sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour,

Si des réponses vous ont aidés, merci de les spécifier comme "Utile".

Si vous désirez recommander une réponse aux autres membre de la communauté, cliquez sur recommander.

Et si la réponse résout votre problème, merci de mettre la question comme résolue, afin d'aider les autres membres de la communauté.

Merci

MauriceLudo
Creator II
Creator II
Author

et si je garde un arriéré plan avec des couleurs figées, avec cette expression j'ai n'est pas ma même résultat :

if (Len (vValeur_H_Pleines_Creuses) = 0,

    white(),

   

   if($(vValeur_H_Pleines_Creuses )> 0.92, RGB(9, 106, 9), --> vert

    if($(vValeur_H_Pleines_Creuses ) <= 0.92 and valeur >= 0.90, RGB (255, 255, 0), -- Jaune

     if($(vValeur_H_Pleines_Creuses ) <= 0.89 and valeur >= 0.86, RGB (237, 127, 16), --> Orange

      if($(vValeur_H_Pleines_Creuses ) <= 0.85, RGB(255, 0, 0), --> Rouge

     Black()

))))

l'ancienne expression

ColorMix2( if(rangemin(1,rangemax(Valeur,0.85))<0.91,-Sqrt(-(rangemin(1,rangemax(Valeur,0.85))-0.91)/(0.91-0.85)),Sqrt((rangemin(1,rangemax(Valeur,0.9))-0.91)/(1-0.91))), ARGB(255, 255, 0, 0), ARGB(255, 0, 128, 0),ARGB(255, 255, 255, 0))

sfatoux72
Partner - Specialist
Partner - Specialist

Désolé, je ne comprend pas le sens de ta phrase ???

florent1
Contributor III
Contributor III

@sfatoux72 Merci !! C'est exactement ce que je recherchais 🙂