Ce forum est dédié aux discussions qui concernent les graphiques réalisés avec la librairie Highstock, Une question, un bug ?
Modérateurs : jturlier, Météo Villarzel
-
Javier
- Messages : 263
- Enregistré le : 15 févr. 2014, 09:23
- Localisation : San Sebastián, España
-
Contact :
Message
par Javier » 09 juil. 2014, 22:55
J'ai un graphique des précipitations couvrant toute la période depuis que j'ai commencé avec la station météo (Mars 2012).
Par une erreur dans le fichier, certaines valeurs erronées (qui ne sont pas dans la base de données) apparaissent:
http://kocher.es/graficos-highcharts/pl ... a_dias.php
Mon fichier est le suivant:
Code : Tout sélectionner
<?php
// appel du script de connexion
require("mysql_connect.php");
// On récupère le timestamp du dernier enregistrement
$sql="select max(tstamp) from MiniMaxidata";
$query=mysql_query($sql);
$list=mysql_fetch_array($query);
// On détermine le stop et le start de façon à récupérer dans la prochaine requête que les données des dernières xx heures
$stop=$list[0];
$start=$stop-(86400*900);
$sql = "SELECT tstamp, Rain_jour FROM MiniMaxidata where tstamp >= '$start' and tstamp <= '$stop' ORDER BY 1";
$query=mysql_query($sql);
$i=0;
while ($list = mysql_fetch_assoc($query)) {
if (date("I",time())==0) {
$dtime[$i]=($list['tstamp']+3600)*1000;
}
else {
$dtime[$i]=($list['tstamp']+7200)*1000;
}
$Rain_jour[$i]=$list['Rain_jour']*1;
$i++;
}
?>
<script type="text/javascript">
eval(<?php echo "'var dTime = ".json_encode($dtime)."'" ?>);
eval(<?php echo "'var Rain_jour = ".json_encode($Rain_jour)."'" ?>);
</script>
Modifié en dernier par
Javier le 10 juil. 2014, 18:05, modifié 1 fois.
-
Météo Villarzel
- Administrateur du site
- Messages : 524
- Enregistré le : 06 févr. 2014, 09:48
-
Contact :
Message
par Météo Villarzel » 09 juil. 2014, 23:59
Salut Javier,
je n'ai pas compris ou est ton erreur ??
Par contre si tu veux toutes les données, pourquoi mettre un start/stop ?
$sql = "SELECT tstamp, Rain_jour FROM MiniMaxidata where tstamp >= '$start' and tstamp <= '$stop' ORDER BY 1";
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
-
Javier
- Messages : 263
- Enregistré le : 15 févr. 2014, 09:23
- Localisation : San Sebastián, España
-
Contact :
Message
par Javier » 10 juil. 2014, 00:48
Saludos Pierre-André
D'accord; j'enlève l'arrêt et le départ
Cependant, la pluie semble des données erronées, et plus curieux, disparaissent lorsque vous zoomez sur la zone de la carte.
Code : Tout sélectionner
<?php
// appel du script de connexion
require("mysql_connect.php");
// On récupère le timestamp du dernier enregistrement
$sql="select max(tstamp) from MiniMaxidata";
$query=mysql_query($sql);
$list=mysql_fetch_array($query);
// On détermine le stop et le start de façon à récupérer dans la prochaine requête que les données des dernières xx heures
$sql = "SELECT tstamp, Rain_jour FROM MiniMaxidata where tstamp ";
$query=mysql_query($sql);
$i=0;
while ($list = mysql_fetch_assoc($query)) {
if (date("I",time())==0) {
$dtime[$i]=($list['tstamp']+3600)*1000;
}
else {
$dtime[$i]=($list['tstamp']+7200)*1000;
}
$Rain_jour[$i]=$list['Rain_jour']*1;
$i++;
}
?>
<script type="text/javascript">
eval(<?php echo "'var dTime = ".json_encode($dtime)."'" ?>);
eval(<?php echo "'var Rain_jour = ".json_encode($Rain_jour)."'" ?>);
</script>
-
Javier
- Messages : 263
- Enregistré le : 15 févr. 2014, 09:23
- Localisation : San Sebastián, España
-
Contact :
Message
par Javier » 10 juil. 2014, 01:14
Les options 1 et 3 mois fonctionnent bien.
L'option de «six mois», comptés les jours par paires.
L'option de «un an» compte les jours cinq ans.
Le "tout" comptés les jours de de 10 à 10
-
Météo Villarzel
- Administrateur du site
- Messages : 524
- Enregistré le : 06 févr. 2014, 09:48
-
Contact :
Message
par Météo Villarzel » 10 juil. 2014, 08:06
Ce n'est pas une erreur, c'est la fonction dataGrouping qui regroupe les données pour une meilleure vue s'il y a beaucoup de données.
essaye de remplacer
dataGrouping: {
units: [[
'day',
],]
},
Par
dataGrouping: {
units: [[
'day',
[1]
], [
'day',
[1]
]]
},
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
-
Javier
- Messages : 263
- Enregistré le : 15 févr. 2014, 09:23
- Localisation : San Sebastián, España
-
Contact :
Message
par Javier » 10 juil. 2014, 18:04
Le changement que vous m'avez proposé
fonctionne parfaitement
Saludos y muchas gracias Pierre-André