Bonjour à tous !
J'ai un petit problème avec la gestion d'un graphique. Je m'explique :
J'aimerai créer un graphique grâce à JPGraph qui contiendra plusieurs courbes.
Les données pour fabriquer les différents lignes sont récupérées dans une BDD (ici j'indiquerai des valeurs quelconques)
Mais j'ai 2 problèmes qui se posent lorsque le graphique s'affiche :
- Déjà, comme il y a plusieurs lignes j'ai fait une boucle permettant de les ajouter au graphique. Avec la nouvelle version de JPGraph (ah oui petites précisions, ma version est la 1.26), il est possible d'insérer plusieurs lignes avec des fonctions différentes.
Voici mon code, ça sera largement plus compréhensible !!
Donc sur mon graphique avec ça, il y a 2 courbes qui s'affichent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 // Création d'un tableau de tableau $DataY = array ( array (2,5,3,4,8,7), array (2,8,2,2,2,4), array (4,2,0,3,6,2) ); // Création de l'objet Graph $g = new Graph(500, 500); // Initialisation de la variable qui servira aux fonctions AddY() et SetYScale $Yaxe = 0; for ($i=0; $i <= (count($DataY) -1); $i++) { // Création de l'objet LinePlot $lp1 = new LinePlot($DataY[$i]); // Si la courbe est la première if ($i == 0) { $g->Add($lp_dynamique); $g->SetScale("int"); $g->yaxis->SetColor("blue"); } else { // Les courbes suivantes doivent être ajouter avec AddY() et SetYScale $g->AddY($Yaxe,$lp_dynamique); $g->SetYScale($Yaxe,"lin",0,50); $g->ynaxis[$Yaxe]->SetColor('green'); // Incrémentation de Yaxe $Yaxe = $Yaxe + 1; } }
- La première est le dernier tableau contenu dans $DataY
- La seconde ne correspond à aucun des tableaux ...
Pour ma première courbe j'avais pensé a une variable dynamique, vu que le chaque passage dans la boucle écrase la courbe créée juste avant (logique...) un peu comme ça :
Malheuresement, si je suis là aujourd'hui, c'est que ça ne marche pas ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $lp_dynamique = 'lp_'.$i; // Ce qui donne lp_0, lp_1, lp_2 // Puis on créé chaque courbe $lp_dynamique = new LinePlot($DataY[$i]);
Auriez-vous une idée sur mon problème ??
Partager