Page 1 sur 1

Erreurs dans un graphique (Résolu)

Posté : 09 juil. 2014, 22:55
par Javier
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>

Re: Erreurs dans un graphique

Posté : 09 juil. 2014, 23:59
par Météo Villarzel
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+

Re: Erreurs dans un graphique

Posté : 10 juil. 2014, 00:48
par Javier
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>

Re: Erreurs dans un graphique

Posté : 10 juil. 2014, 01:14
par Javier
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

Re: Erreurs dans un graphique

Posté : 10 juil. 2014, 08:06
par Météo Villarzel
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+

Re: Erreurs dans un graphique

Posté : 10 juil. 2014, 18:04
par Javier
Le changement que vous m'avez proposé

Code : Tout sélectionner

dataGrouping: {
	 units: [[
	 'day',
     [1] 
	  ],]
fonctionne parfaitement :D

Saludos y muchas gracias Pierre-André