Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework
Zend Framework Forum d'entraide sur la programmation PHP avec Zend Framework. Avant de poster -> FAQ ZF, Cours ZF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/05/2011, 01h24   #1
Membre habitué
 
Avatar de geforce
 
Femme
Développeur informatique
Inscription : janvier 2010
Messages : 468
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2010
Messages : 468
Points : 149
Points : 149
Envoyer un message via Skype™ à geforce
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à :
geforce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 08h45   #2
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
jpgraph est sans doute la plus connue et la plus utilisé
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 14h15   #3
Membre habitué
 
Avatar de geforce
 
Femme
Développeur informatique
Inscription : janvier 2010
Messages : 468
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2010
Messages : 468
Points : 149
Points : 149
Envoyer un message via Skype™ à geforce
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
geforce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 16h29   #4
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Citation:
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
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 17h23   #5
Membre habitué
 
Avatar de geforce
 
Femme
Développeur informatique
Inscription : janvier 2010
Messages : 468
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2010
Messages : 468
Points : 149
Points : 149
Envoyer un message via Skype™ à geforce
ces exactement le code du Tutorial : http://andry.developpez.com/tutoriel...-geometriques/

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

Citation:
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
geforce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 09h04   #6
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Citation:
Invalid font filename
C'est assez explicite

Essai avec
Code :
$font_file = 'arial.ttf';
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h49.


 
 
 
 
Partenaires

Hébergement Web