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

Zend Framework PHP Discussion :

[PHP5] Bibliothèque pour Génération de graphes


Sujet :

Zend Framework PHP

  1. #1
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Par défaut [PHP5] Bibliothèque pour Génération de graphes
    Bonjour,

    Je cherche une bibliothèque qui permet de générais facilement des graphes ? (je cherche la plus facile à utiliser et à déployer) si possible de nous indiquer ces quoi l’interface utiliser avec les donnés pour génère ses graphe

    Cordialement

    ps:
    Mon but est de reproduire ce graphique là :

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    jpgraph est sans doute la plus connue et la plus utilisé
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Par défaut
    Bonjour,

    Je suis en train d'utiliser la librairie GD en php avec le tutoriel et j’ai suivi toutes les étapes indiquées dans le tuto. Tout me semble correct mais au final j’ai une image qui contient un message d’erreur qui dit :

    L'image “http://127.0.0.1/graphe/graphes_statistiques.php” ne peut être affichée car elle contient des erreurs.

    Si quelqu’un peut m’indiquer où j’ai fait une erreur parce que je n’arrive pas à trouver ?

    Cordialement

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Si quelqu’un peut m’indiquer où j’ai fait une erreur parce que je n’arrive pas à trouver ?
    Comme ça je dirais ligne 12, 17ème caractère , mais je peux me tromper ...

    Plus sérieusement sans code , on peut pas faire grand chose pour toi
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Par défaut
    ces exactement le code du Tutorial : http://andry.developpez.com/tutoriel...-geometriques/

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
     
    <?php
    $host="localhost";
    $utilisateur="root";
    $motdepasse="****";
    $base="eco_energy_graphe";
    $conexion=mysql_connect($host,$utilisateur,$motdepasse) or die('Connexion impossible: ' . mysql_error());
    $db=mysql_select_db($base, $conexion) or die('Connexion a la base impossible : ' . mysql_error());
    $query=mysql_query('SELECT MONTH(dates) AS mois, libelle_produit,(SELECT SUM(quantite) FROM vente
    WHERE produit.id_produit=vente.id_produit AND MONTH(dates)=mois AND YEAR(dates)=2011)as qtvendu FROM vente,produit
    WHERE produit.id_produit=vente.id_produit AND produit.id_produit=1 AND YEAR(dates)=2011 GROUP BY mois ORDER BY mois ASC');
    ?>
    <?php
     
    $moisFr=array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Decembre');
    $resultat=array();
    $i=0;
     
    while($row=mysql_fetch_object($query))
    {
    //var_dump($row); echo "<br/> : ".$row->qtvendu;
    	//Mettre la ligne dans le tableau
        $resultat[$row->mois]=$row->qtvendu;
        //Prendre la première quantité vendu comme minimum et maximum
        if($i==0)
    		{
    			$min=$row->qtvendu;
    			$max=$row->qtvendu;
    		}
        //Tester si la quantité vendu est inférieur au minimum et le prendre si il l'est
        if($row->qtvendu < $min)
    		{
    			$min=$row->qtvendu;
    		}
        //Tester si la quantité vendu est inférieur au maximum et le prendre si il l'est
        else
    		{
    			if($row->qtvendu > $max)
    			 {
    			 	$max=$row->qtvendu;
    			}
    		}
        $i++;
    }
    #################
     
    //Type mime de l'image
    header('Content-type: image/png');
    //Chemin vers le police à utiliser
    $font_file = './arial.ttf';
    //Adapter la largeur de l'image avec le nombre de donnée
    $largeur=$i*50+90;
    $hauteur=400;
    //Hauteur de l'abscisse par rapport au bas de l'image
    $absis=80;
    //Création de l'image
    $courbe=imagecreatetruecolor($largeur, $hauteur);
    //Allouer les couleurs à utiliser
    $bleu=imagecolorallocate($courbe, 0, 0, 255);
    $ligne=imagecolorallocate($courbe, 220, 220, 220);
    $fond=imagecolorallocate($courbe, 250, 250, 250);
    $noir=imagecolorallocate($courbe, 0, 0, 0);
    $rouge=imagecolorallocate($courbe, 255, 0, 0);
    //Colorier le fond
    imagefilledrectangle($courbe,0 , 0, $largeur, $hauteur, $fond);
    //Tracer l'axe des abscisses
    imageline($courbe, 50, $hauteur-$absis, $largeur-10,$hauteur-$absis, $noir);
    //Tracer l'axe des ordonnées
    imageline($courbe, 50,$hauteur-$absis,50,20, $noir);
    //Decaler 10px vers le haut le si le minimum est différent de 0
    if($min!=0)
    {
    $absis+=10;
    $a=10;
    }
    //Nombres des grides verticales
    $nbOrdonne=10;
    //Calcul de l'echelle des abscisses
    $echelleX=($largeur-100)/$i;
    //Calcul de l'echelle des ordonnees
    $echelleY=($hauteur-$absis-20)/$nbOrdonne;
    $i=$min;
    //Calcul des ordonnees des grides
    $py=($max-$min)/$nbOrdonne;
    $pasY=$absis;
    while($pasY<($hauteur-19))
    {
    //Affiche la valeur de l'ordonnee
    imagestring($courbe, 2,10 , $hauteur-$pasY-6, round($i), $noir);
    //Trace la gride
    imageline($courbe, 50, $hauteur-$pasY, $largeur-20,$hauteur-$pasY, $ligne);
    //Decaller vers le haut pour la prochaine gride
    $pasY+=$echelleY;
    //Valeur de l'ordonnee suivante
    $i+=$py;
    }
    ################
     
     
     $j=-1;
     //Position de la première mois de vente
     $pasX=90;
     //Parcourir le tableau pour le traçage de la diagramme
     foreach ($resultat as $mois => $quantite) {
       //calculer la hateur du point par rapport à sa valeur
       $y=($hauteur) -(($quantite -$min) * ($echelleY/$py))-$absis;
       //dessiner le point
       imagefilledellipse($courbe, $pasX, $y, 6, 6, $rouge);
       //Afficher le mois en français avec une inclinaison de 315°
       imagefttext($courbe, 10, 315, $pasX, $hauteur-$absis+20, $noir, $font_file, $moisFr[$mois-1]);
       //Tacer une ligne veticale de l'axe de l'abscisse vers le point
       imageline($courbe, $pasX, $hauteur-$absis+$a, $pasX,$y, $noir);
       if($j!==-1)
        {
          //liée le point actuel avec la précédente
          imageline($courbe,($pasX-$echelleX),$yprev,$pasX,$y,$noir);
        }
        //Afficher la valeur au dessus du point
       imagestring($courbe, 2, $pasX-15,$y-14 , $quantite, $bleu);
       $j=$quantite;
       //enregister la hauteur du point actuel pour la liaison avec la suivante
       $yprev=$y;
       //Decaller l'abscisse suivante par rapport à son echelle
       $pasX+=$echelleX;
    }
    //Envoyer le flux de l'image
    if(imagepng($courbe)) echo "OK";
     else echo "Non OK";
    //Desallouer le memoire utiliser par l'image
    imagedestroy($courbe);
     
    ?>

    j'ai aussi tester sans le //header('Content-type: image/png');

    voilà le message:

    Warning: imagefttext() [function.imagefttext]: Invalid font filename in C:\xampp\htdocs\www\Eco_energy_graphe\graphes_statistiques.php on line 110
    + des caractère spéciale qui représente l'image

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Invalid font filename
    C'est assez explicite

    Essai avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $font_file = 'arial.ttf';
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Aide pour génération de graphes d'appel
    Par ballrog64 dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 19/10/2011, 14h14
  2. [C#] Bibliothèque pour Génération de graphes
    Par geforce dans le forum Débuter
    Réponses: 3
    Dernier message: 09/05/2011, 09h20
  3. Bibliothèque pour Génération de graphes
    Par geforce dans le forum Frameworks Web
    Réponses: 1
    Dernier message: 05/05/2011, 22h18
  4. Cherche outil Flash pour génération de graphes
    Par kileak dans le forum Flash
    Réponses: 1
    Dernier message: 21/01/2011, 14h46
  5. [Graphique] Bibliothèque pour génération de "jolis" graphes avec php
    Par mounia.n dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 22/04/2008, 22h32

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