Les Allergies
Alimentaires
Posez votre question Signaler

PHP : Echelle de temps avec JPGRAPH [Résolu]

Blanc57 332Messages postés 6 avril 2007Date d'inscription 12 mars 2012Dernière intervention - Dernière réponse le 7 févr. 2011 à 01:54
Bonjour,
J'ai un problème avec JPGRAPH. Je tente de faire un graph montrant des courbe de performance sur une journée.
C'est au niveau de l'échelle de temps sur l'axe X que cela coince.
Mes données vont de 0:11 à 22:37.
Sans cette ligne : "$graph->xaxis->SetTickLabels($tdata) ;":
L'échelle affichée va de 0:00 à 1:50
Si j'ajoute cette ligne, l'échelle affiche bien les valeurs de 0:11 à 22:37 mais continue en reprenant de 1:44 à 1:50...
Je ne sais pas si je suis suffisamment clair mais je n'arrive pas à faire coller et limiter l'échelle de l'axe X au données dont je dispose.
J'ai fait des recherches sur le net mais j'avoue avoir du mal à m'en sortir...
Voici une partie de mon code PHP :
$sql = "SELECT TIME,".$INDIC." FROM GLOBALSTATS WHERE DATE='".$actdate."' and ENV='".$appli."' ORDER BY TIME";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);
while ($row = db2_fetch_both($stmt)) {
$xdata[] = $row[0] ;
$tdata[] = date('H:i',strtotime($row[0]));
$ydata[] = $row[1] ;
}
// Creation du graphique
//
$graph = new Graph($width, $heigth);
$graph->SetMargin(40,40,40,60);
$graph->SetScale('datlin',0,max($ydata));
$graph->xaxis->SetTickLabels($tdata) ;
$graph->xaxis->scale->SetTimeAlign(min($xdata),max($xdata));
$graph->xaxis->scale->SetDateFormat('H:i',true);
// Generation de la courbe
$lineplot = new LinePlot($ydata);
$lineplot->SetColor('#2554C7');

Merci d'avance à tous ceux qui pourront m'aider.
Lire la suite 

PHP : Echelle de temps avec JPGRAPH »

1 réponses
Réponse
+0
moins plus
Je viens de trouver la solution :

J'ai supprimé la déclaration manuelle des valeurs sur l'axe X :
// $graph->xaxis->SetTickLabels($tdata) ;

J'ai défini les valeurs de l'axe X comme timestamps :
$tdata[] = strtotime($row[0]);

et j'ai définit le format de date à afficher sur l'axe X :
$graph->xaxis->scale->SetDateFormat('d/m/Y', true);

A présent, cela fonctionne.
Ajouter un commentaire
Ce document intitulé « PHP : Echelle de temps avec JPGRAPH » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?