Couleur en fonction des valeurs [3 axes] [Courbe et colonne]

Ce forum est dédié aux discussions qui concernent les graphiques réalisés avec la librairie Highcharts, Une question, un bug ?

Modérateurs : jturlier, Météo Villarzel

Avatar du membre
PascalWMR
Messages : 323
Enregistré le : 16 févr. 2014, 09:28
Localisation : CONFLANS EN JARNISY (F54800)
Contact :

Re: Couleur en fonction des valeurs [3 axes] [Courbe et colo

Message par PascalWMR » 15 mars 2015, 13:10

Re à tous
Météo Villarzel a écrit :Par exemple sur le graphique ci-dessous, quand la pluviométrie dépasse 20 mm en une journée, on change la couleur
Pierre-André, je viens d'essayer ta suggestion.

J'apporte un petit bémol à mon précédent post.
Pierre-André, quand tu dis
Météo Villarzel a écrit :Effectivement ça fonctionne avec threshold, mais en fait ça décale l'axe Y,
veut-tu dire que dans un graphique de type column , les colonnes dont les valeurs sont inférieures à threshold sont inversées. C'est à dire que les colonnes sont dirigées vers le bas :?:

C'est ce dont je viens de m'apercevoir ici http://jsfiddle.net/gh/get/jquery/1.7.2 ... ive-color/.

Par contre cette méthode reste valable pour les graphiques de type area et line que j'ai testé. Ça ne change pas le sens d'affichage des données. Seule la ligne ou l'aire change de couleur au passage de la valeur threshold.

A+
Pascal
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Image

Avatar du membre
Météo Villarzel
Administrateur du site
Messages : 524
Enregistré le : 06 févr. 2014, 09:48
Contact :

Re: Couleur en fonction des valeurs [3 axes] [Courbe et colo

Message par Météo Villarzel » 15 mars 2015, 13:53

veut-tu dire que dans un graphique de type column , les colonnes dont les valeurs sont inférieures à threshold sont inversées. C'est à dire que les colonnes sont dirigées vers le bas :?:
C'est exactement ça
thre.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Station Vantage Pro2+ avec station agricole - Weatherlink - GraphWeather 3.0.15b - Cumulus 1.9.4 - Windows 7/64
Graphique dynamique à partir d'une bd MySql - VP2SQL

Image

Avatar du membre
jturlier
Administrateur du site
Messages : 393
Enregistré le : 10 déc. 2014, 10:20
Localisation : Sérignan 34410
Contact :

Re: Couleur en fonction des valeurs [3 axes] [Courbe et colo

Message par jturlier » 15 mars 2015, 14:54

Re bonjour les rois des boissons anisées,
si je puis apporter mon grain de sel, pourquoi ne pas traiter le problème au niveau des données plutôt que sur les graphes ?
Ma suggestion :
  • Toutes les données de la courbe qui sont supérieures à une certaine valeur limite sont groupées dans une série à laquelle on donne une certaine couleur.
  • Dans la seconde série, qui reprend les valeurs inférieures à la limite, on applique une autre couleur.
    Même chose pour l'histogramme.
Allez vous pouvez continuer à vous saouler au soleil pendant que la pluie bat la fenêtre de mon bureau.

Bonne journée

Jean
Jean

Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL

Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
Image

Avatar du membre
jturlier
Administrateur du site
Messages : 393
Enregistré le : 10 déc. 2014, 10:20
Localisation : Sérignan 34410
Contact :

Re: Couleur en fonction des valeurs [3 axes] [Courbe et colo

Message par jturlier » 15 mars 2015, 15:08

J'ai oublié de poser une question à Maxtitou,
d'où proviennent les données ? fichier ou DB ?
Je pense que l'idée que je suggérais dans mon précédent post est celle qui correspond le mieux à la situation : présence à 50% on met les données de la courbe dans un dataset, inférieure on met dans un autre pour tracer une autre courbe.

Jean
Jean

Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL

Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
Image

alain
Messages : 101
Enregistré le : 21 nov. 2014, 20:23

Re: Couleur en fonction des valeurs [3 axes] [Courbe et colo

Message par alain » 15 mars 2015, 18:57

bonjour a tous
je sort de ma grippe, agrémentée d'une magnifique gastro.
donc entre deux vomissement (bon sang que j'ai l’Âme poétique :lol: ) je met mon grain de sel
perso comme je suis nul avec Hicharts, j'avais contourné le problème des couleurs directement en PHP, dont au passage je suis aussi nul.
Puisque l'on parle de nul, il n'y a qu'un pas jusqu' NULL
la combine que j'avais trouvé c’était de passer les données par la valeur NULLE, dans le cas ci dessus une condition suffit par ligne:
dans un autre post je disait:

je trace ligne en bleu, mais chaque fois quelle correspond a ma condition la ligne devient rouge.
Il faut prévoir deux lignes.
Une que l'on affecte a sa condition, l'autre que l'on affecte a une autre condition
Il faut prévoir deux série ( série condition1 et série condition2, et plus si affinité! )
mais pour pas que les lignes se chevauchent ( la bleu sur la rouge) il faut passer a nul la valeur de la série condition1 si au même moment il y a une information sur la série condition2

en fait ça donne un peut ça:

Code : Tout sélectionner

  10,  11, 12,  10  ,9,   8    ,7   ,6,   5   ,4    ,3,  2,   null,null,null,
    null,null,null,null,null,null,null,null,null,null,null,null,-1  ,-2   ,-3
voici par l'exemple
pour ce faire il suffit juste d'ajouter une condition sur le champ voulu. Dans mon exemple je trace une ligne watt, et j' ai un champ tarif en cours (PTEC)
donc si je suis en HP je trace en rouge, des que mon champs (PTEC) passe en HC je trace en bleu

voila la modification faite dans le while ($list = mysqli_fetch_assoc($query))

Code : Tout sélectionner

  $i=0;
    while ($list = mysqli_fetch_assoc($query)) {
   


        if ( $list["PTEC"] == "HP" )      // Test si heures pleines.
        {
        $WATTHP[$i]= ($list['WATT'])*1;
        $WATTHC[$i]= ($list = null);  // affecte des null pour l'encodage Json
        }
        else
        {
        $WATTHC[$i]= ($list['WATT'])*1;
        $WATTHP[$i]= ($list = null);   // affecte des null pour l'encodage Json
        }
    $i++;
puis on encode cette ligne au format Json

Code : Tout sélectionner

 <script type="text/javascript">
    eval(<?php echo  "'var time =  ".json_encode($time)."'" ?>);
    eval(<?php echo  "'var WATTHP =  ".json_encode($WATTHP)."'" ?>);
    eval(<?php echo  "'var WATTHC =  ".json_encode($WATTHC)."'" ?>);
    </script>
puis il n'y a plus qu’a tracer cette ligne avec deux portions de couleurs possible

Code : Tout sélectionner

 series: [
          {
                    name: 'Puissance',
          
                    color: '#ff0000',
          dashStyle: 'Solid',
           lineWidth: 1,
                    data: comArr(WATTHP)
                    },
                
                {
                    name: 'Puissance',
          color: '#2D1FC4',
          dashStyle: 'Solid',
          lineWidth: 1,
                    data: comArr(WATTHC)
                    },
                   
                
                ]
          
Alain
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
station Orégon WMR 200
logiciel Xnet version 2012-03-17a et Graphweather V 3.0.15
windows XP SP3 sur vieux portable destiné a la météo
Windows7 sur mon portable, permet de tester les applications qui ne veulent plus de XP
http://mapetitemeteo.esy.es/

Avatar du membre
Météo Villarzel
Administrateur du site
Messages : 524
Enregistré le : 06 févr. 2014, 09:48
Contact :

Re: Couleur en fonction des valeurs [3 axes] [Courbe et colo

Message par Météo Villarzel » 15 mars 2015, 23:28

J'ai trouvé une fonction,
http://jsfiddle.net/paaubert/xg6szmvc/3/

Toutes les valeurs au dessus de 20 sont en rouge, on peux changer la valeur ici

var max = 20;

Par contre ça fonctionne avec des valeurs en dur, mais pas avec notre fonction data: comArr(dsol), ?

Code : Tout sélectionner

series: [{
		        name: 'Pluviométrie',
				type: 'column',
				color: '#1e90ff',
		        data: comArr(dsol),
				dataGrouping: {
					units: [[
						'day', // unit name
						[1] // allowed multiples
					], [
						'day',
						[1]
					]]
		        },
		    }
			]
		
		}, function(chart) {
		 var max = 20;
            
            $.each(chart.series[0].data,function(i,data){
                
                if(data.y > max)
                    data.update({
                        color:'red'
                    });
                
            });
Une idée :?:

A+
Station Vantage Pro2+ avec station agricole - Weatherlink - GraphWeather 3.0.15b - Cumulus 1.9.4 - Windows 7/64
Graphique dynamique à partir d'une bd MySql - VP2SQL

Image

alain
Messages : 101
Enregistré le : 21 nov. 2014, 20:23

Re: Couleur en fonction des valeurs [3 axes] [Courbe et colo

Message par alain » 16 mars 2015, 09:12

Bonjour a tous
Je voit que l'alcool, n'altère pas vos esprits, et que les idées fourmillent, c'est bien :D
comme pour moi les changements de couleurs en fonction d'une condition m'intéressent au plus haut point: je suis ce post avec grand intérêt!
continuez a vous creuser les méninges: c'est pour notre bien.... Merci ;)
Alain qui remarque le manque de solidarité: pas un petit mot de réconfort en ma direction alors que je suis grippé. Je suiiiiiiiiiiis Maaaaaaaaalaaaaaaaaade :roll:
station Orégon WMR 200
logiciel Xnet version 2012-03-17a et Graphweather V 3.0.15
windows XP SP3 sur vieux portable destiné a la météo
Windows7 sur mon portable, permet de tester les applications qui ne veulent plus de XP
http://mapetitemeteo.esy.es/

Avatar du membre
jturlier
Administrateur du site
Messages : 393
Enregistré le : 10 déc. 2014, 10:20
Localisation : Sérignan 34410
Contact :

Re: Couleur en fonction des valeurs [3 axes] [Courbe et colo

Message par jturlier » 16 mars 2015, 13:41

Météo Villarzel a écrit :Toutes les valeurs au dessus de 20 sont en rouge, on peux changer la valeur ici
Tu as raison Pierre-André, mais tu ne réponds pas au problème de Maxtitou : c'est le fait que présence soit >=50% qui déclenche le changement de couleur, pas un threshold fonction de la courbe qu'on souhaite colorer, c'est pourquoi j'en reviens au fait que ce sont les data qu'il faut contrôler, c'est d'ailleurs ce qu'Alain suggérait dans son premier post hier (grippé, mais je compatis, et je le plains, ce n'est qu'un malheureux, un Calimero :( )
alain a écrit :je trace ligne en bleu, mais chaque fois quelle correspond a ma condition la ligne devient rouge.
Il faut prévoir deux lignes.
Alain bonjour,
n'oublie pas de te laver les mains quand tu touches ton clavier, car la contagion peut se faire virtuellement, et je ne tiens pas à être enfoiré (éthymologiquement : Il s'agit d'un dérivé de « foire » (diarrhée)) :lol: :lol:
Rétablis toi bien !

Jean
Jean

Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL

Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
Image

Maxtitou
Messages : 7
Enregistré le : 13 mars 2015, 10:37

Re: Couleur en fonction des valeurs [3 axes] [Courbe et colo

Message par Maxtitou » 17 mars 2015, 08:07

De retour de week-end pour me mettre à fond sur cette question de changement de couleur ;)

Je vous remercie déjà d'avance pour vos réponses.
jturlier a écrit :J'ai oublié de poser une question à Maxtitou,
d'où proviennent les données ? fichier ou DB ?
Je pense que l'idée que je suggérais dans mon précédent post est celle qui correspond le mieux à la situation : présence à 50% on met les données de la courbe dans un dataset, inférieure on met dans un autre pour tracer une autre courbe.

Jean
C'est une DB.

Avatar du membre
jturlier
Administrateur du site
Messages : 393
Enregistré le : 10 déc. 2014, 10:20
Localisation : Sérignan 34410
Contact :

Re: Couleur en fonction des valeurs [3 axes] [Courbe et colo

Message par jturlier » 17 mars 2015, 09:03

Bonjour Maxtitou,
Peux-tu me passer en MP une sauvegarde de ta(es) table(s) (en zippé STP), je n'ai pas l'impression qu'elle soit trop grosse !
Cela ne devrait pas être un gros problème de créer 2 groupes de données : celles qui correspondent à présence >50% et les autres.

Jean
Jean

Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL

Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
Image

Répondre