Erreurs dans un graphique (Résolu)

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

Répondre
Javier
Messages : 263
Enregistré le : 15 févr. 2014, 09:23
Localisation : San Sebastián, España
Contact :

Erreurs dans un graphique (Résolu)

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.
Davis Vantage Pro2 +, Windows 10, Windows 7 (64), Graphweather 3.0.15, Weatherlink 6.0.3, template Pierre-André, template Jachym
Image

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

Re: Erreurs dans un graphique

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

Image

Javier
Messages : 263
Enregistré le : 15 févr. 2014, 09:23
Localisation : San Sebastián, España
Contact :

Re: Erreurs dans un graphique

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>
Davis Vantage Pro2 +, Windows 10, Windows 7 (64), Graphweather 3.0.15, Weatherlink 6.0.3, template Pierre-André, template Jachym
Image

Javier
Messages : 263
Enregistré le : 15 févr. 2014, 09:23
Localisation : San Sebastián, España
Contact :

Re: Erreurs dans un graphique

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
Davis Vantage Pro2 +, Windows 10, Windows 7 (64), Graphweather 3.0.15, Weatherlink 6.0.3, template Pierre-André, template Jachym
Image

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

Re: Erreurs dans un graphique

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

Image

Javier
Messages : 263
Enregistré le : 15 févr. 2014, 09:23
Localisation : San Sebastián, España
Contact :

Re: Erreurs dans un graphique

Message par Javier » 10 juil. 2014, 18:04

Le changement que vous m'avez proposé

Code : Tout sélectionner

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

Saludos y muchas gracias Pierre-André
Davis Vantage Pro2 +, Windows 10, Windows 7 (64), Graphweather 3.0.15, Weatherlink 6.0.3, template Pierre-André, template Jachym
Image

Répondre