Besoin d'aide pour jpgraph

Petit nouveau ! | 2 Messages

21 avr. 2022, 12:04

Bonjour, c'est mon premier sujet.
J'ai besoin d'aide sur un projet qui demande à utiliser des graphiques dynamiques pour interagir avec une base de données qui se remplira automatiquement avec les données d'une piscine, j'ai donc utilisé jpgraph mais je rencontre un souci...
J'ai réussi à afficher les valeurs de l'axe des abscisses mais l'axe des ordonnées ne marche pas ! ça doit être un format pour afficher une date, j'ai essayé tout les formats de date ça ne change rien, j'ai toujours la même erreur, du coup je ne comprends pas car je débute dans tout ça, si quelqu'un s'y connait et peut m'aider...

Voici d'abord le code pour le graphique :
<?php
require_once ('C:\wamp64\www\Projet\jpgraph\jpgraph-4.3.5\src\jpgraph.php');
require_once ('C:\wamp64\www\Projet\jpgraph\jpgraph-4.3.5\src\jpgraph_line.php');
require_once ('C:\wamp64\www\Projet\jpgraph\jpgraph-4.3.5\src\jpgraph_date.php');
$cxn= mysqli_connect("localhost","root","","piscineconnectee") or die ("error connecting to the server");

$query="SELECT HygroLocal,Heures FROM capteurs";
$res=mysqli_query($cxn,$query);
$hygro=[];
$heures=[];
while ($ligne=mysqli_fetch_assoc($res)){
	array_push($heures, $ligne["Heures"]);
	array_push($hygro, $ligne["HygroLocal"]);
}

// Setup the graph
$graph = new Graph(600,500);
$graph->SetScale("datlin");

$theme_class=new UniversalTheme;

$graph->SetTheme($theme_class);
$graph->img->SetAntiAliasing(false);
$graph->title->Set('Filled Y-grid');
$graph->SetBox(false);

$graph->SetMargin(40,20,36,63);

$graph->img->SetAntiAliasing();
$graph->xaxis->scale->SetDateFormat('H:i');
$graph->yaxis->HideZeroLabel();
$graph->yaxis->HideLine(false);
$graph->yaxis->HideTicks(false,false);

$graph->xgrid->Show();
$graph->xgrid->SetLineStyle("solid");
$graph->xgrid->SetColor('#E3E3E3');

// Create the first line
$p1 = new LinePlot($hygro, $heures);
$graph->Add($p1);
$p1->SetColor("#6495ED");
$p1->SetLegend('Line 1');

$graph->legend->SetFrameWeight(1);

// Output line
$graph->Stroke();

?>
L'erreur qui s'affiche :
"Jpgraph Error : 25070
Either X or Y data arrays contains non-numeric values. Check that the data is really specified as numeric data and not as strings. It is an error to specify data for example as '-2345.2' (using quotes)."

Mammouth du PHP | 2703 Messages

21 avr. 2022, 13:06

quel est le type des champs HygroLocal et Heures de la table capteurs ?

et voir https://jpgraph.net/download/manuals/ch ... 14s10.html

Petit nouveau ! | 2 Messages

21 avr. 2022, 13:28

Bonjour, le type du champ Heures est "time" et HygroLocal "int"
J'ai vu ce document mais même avec j'ai du mal

Avatar du membre
Mammouth du PHP | 1564 Messages

26 avr. 2022, 12:59

HS

pour tes chemin absoluts require once (ou include) tu peut utiliser

Code : Tout sélectionner

__DIR__
et

Code : Tout sélectionner

dirname(__DIR__)
pour remonter d'un dossier
On peut combiner autant de dirname() que de dossier à remonter ;)

exemple :

Code : Tout sélectionner

dirname(dirname(__DIR__))
pense à mettre un separator après :

Code : Tout sélectionner

__DIR__ .'/chemin-vers/fichier.ext'