IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[JpGraph] LinePlot & Base de données


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Par défaut [JpGraph] LinePlot & Base de données
    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 !!

    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;
    	}
    }
    Donc sur mon graphique avec ça, il y a 2 courbes qui s'affichent :

    - 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 :

    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]);
    Malheuresement, si je suis là aujourd'hui, c'est que ça ne marche pas ^^

    Auriez-vous une idée sur mon problème ??

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Par défaut
    Bon eh bien problème résolu !!

    Je met le code qui marche pour ceux que ça intéresse !! (juste la boucle vu que ça venait bien de l'écrasement de la courbe à chaque passage dans la boucle!!)

    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
    for ($i=0; $i < count($DataY) ; $i++)
    {
            // Utilisation d'un tableau !!
    	$lp_dynamique[$i] = new LinePlot($DataY[$i]);
    	$lp_dynamique[$i]->SetColor($DataY[$i]);
     
    	if ($i == 0)
    	{
    		$g->Add($lp_dynamique[$i]);	
    		$g->SetScale("int",0,8);
    		$g->yaxis->SetColor("blue");
    	}
    	else
    	{
    		$g->AddY($Yaxe,$lp_dynamique[$i]);
    		$g->SetYScale($Yaxe,"int",0,8);
    		$g->ynaxis[$Yaxe]->SetColor('white');
    		$Yaxe++;
    	}
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.1] Courbes avec jpgraph depuis base de données
    Par METEO-BERNARD dans le forum Langage
    Réponses: 6
    Dernier message: 11/05/2016, 14h00
  2. Jpgraphe ( gantt)/base de données
    Par challenger11 dans le forum Langage
    Réponses: 7
    Dernier message: 31/03/2015, 16h10
  3. [JPgraph] Problème avec la connexion de la base de données
    Par infooo dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 15/03/2014, 19h08
  4. [JpGraph] faire un graph a partir d'une base de données sous jpgraph!
    Par wookie33 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 23/05/2012, 10h51
  5. [Concept] Stabilité d'une base de donnée
    Par lassmust dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 03/07/2002, 16h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo