heatmap avec SQL

Vous créez vos graphiques à partir d'une base de données et vous avez une question, un problème, c'est ici

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

Répondre
soguland
Messages : 2
Enregistré le : 08 avr. 2014, 23:35

heatmap avec SQL

Message par soguland » 09 avr. 2014, 22:03

Bonsoir,

Je sèche depuis un moment sur la façon d'indiquer les datas d'une base dans le HighCharts heatmap. En cherchant sur le net, je suis "tombé" sur votre site et au vus du nombre de jauges, j'ai peut-être trouvé mon bonheur :D
J'ai démarré un site http://www.andriet.fr l'année dernière pour connaître la température de ma piscine (j'en avait marre de racheter chaque année un thermomètre au mercure :evil: ). Hébergé chez OVH sous Joomla, pas de soucis pour l'instant...

Ma problématique est la suivante :
Je voudrais ajouter heatmap (http://www.highcharts.com/maps/demo/heatmap), dans l'exemple indiqué les datas proviennent d'un csv intégré dans la feuille.

Pour mes cadrans, je "sais" récupérer les données de ma base et les "codifier" dans le highcharts.
Je défini une variable dans la partie php sous la forme [[1393628443000,1350],[1393628506000,1350],[1393628569000,1352]], valeurs récupérées par une requête dans ma base.
Ensuite je l'injecte sous la forme
series: [{
type: 'spline',
name: 'Hauteur nappe',
data: <?php echo $H_eau; ?>
}]

Je n'arrive pas à trouver la syntaxe correcte pour heatmap :roll:
La partie Data n'est pas au même endroit que les autres graphes d'une part et si met mes données sous la forme
$Donnees = [Date, Time, Temperature
2013-04-01,0,-0.7
2013-04-02,0,-3.4
2013-04-03,0,-1.1']
C'est un exemple, j'ai essayé d'autres formats mais rien n'y fait !!

Si vous avez une idée sur la méthode pour mettre en forme les données, je suis preneur :mrgreen:

Merci
Station météo basée sur ARDUINO UNO + RASPBERRY : Transfert par XBee
www.ANDRIET.FR chez OVH avec PhpMyAdmin

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

Re: heatmap avec SQL

Message par Météo Villarzel » 09 avr. 2014, 23:04

Bonsoir,
Je n'avais jamais remarqué ces graphiques "maps" ça à l'air assez nouveau, en tous cas très intéressant.

Pour ton graphique, normalement tu devrais pouvoir garder la même structure que pour tes autres graphiques.

series: [{
//type: 'spline',
name: 'Hauteur nappe',
data: <?php echo $H_eau; ?>
}]

et modifier le type du graphique.
type: 'heatmap',

Je vais essayer d'un faire un quand j'aurai un moment

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

soguland
Messages : 2
Enregistré le : 08 avr. 2014, 23:35

Re: heatmap avec SQL

Message par soguland » 10 avr. 2014, 22:56

Merci pour ton retour.

En tâtonnant et en cherchant sur le net, je suis enfin arrivé à afficher quelque chose :D
J'ai pas tout compris mais cela fonctionne

Dans xAxis :
Ajouter "datetime"
Mettre -1 pour le mois !! pour indiquer dans mon exemple Janvier (pourquoi -1 que pour le mois, ça m'échappe un peu...)

xAxis: {
type: 'datetime',
tickPixelInterval: 15,
min: Date.UTC(2014, 0, 1),
max: Date.UTC(2014, 0, 30)},


Dans series :
Mettre la date sous forme Date.UTC (il y a surement une autre syntaxe, mais j'ai pas trouver mieux)
On peut jouer sur colsize, les 3 chiffres (hauteur, largeur, intervalle, mais là aussi c'est encore un peu nébuleux :? )

series: [{
data : [[Date.UTC(2014, 0, 01),5,10],
[Date.UTC(2014, 0, 02),6,20],
[Date.UTC(2014, 0, 03),6,20],
[Date.UTC(2014, 0, 03),7,30],
[Date.UTC(2014, 0, 04),8,40]],
colsize: 24 * 36e5, // one day
tooltip: {
headerFormat: 'Temperature<br/>',
pointFormat: '{point.x:%e %b, %Y} {point.y}:00: <b>{point.value} ℃</b>'
}
}]


Reste plus qu'à fabriquer la requête qui va bien :mrgreen: :mrgreen:
Station météo basée sur ARDUINO UNO + RASPBERRY : Transfert par XBee
www.ANDRIET.FR chez OVH avec PhpMyAdmin

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

Re: heatmap avec SQL

Message par Météo Villarzel » 19 avr. 2014, 01:20

soguland a écrit : Ajouter "datetime"
Mettre -1 pour le mois !! pour indiquer dans mon exemple Janvier (pourquoi -1 que pour le mois, ça m'échappe un peu...)
Excuse, j'ai zappé ton dernier message :roll:

pourquoi -1 que pour le mois : par ce que pour Highcharts l'année commence à 0 pour les mois
0=janvier
1=février
etc.. pourquoi :?: :?: :?:

Par contre ton graphique est superbe
http://www.andriet.fr/index.php/temperatures/heatmap

Si tu pouvais nous expliquer comment tu es arrivé à ce résultat, ça serait cool :mrgreen:

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

Répondre