Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > JpGraph
JpGraph Forum d'entraide pour la bibliothèque JpGraph permettant de manipuler des images en PHP. Avant de poster -> tutoriels JpGraph
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 28/10/2011, 17h27   #1
Invité de passage
 
rachou niyiolemabo
Inscription : octobre 2010
Messages : 10
Détails du profil
Informations personnelles :
Nom : rachou niyiolemabo

Informations forums :
Inscription : octobre 2010
Messages : 10
Points : 1
Points : 1
Par défaut l'image ne peut etre affiché

njour le monde
voici mon problème je veux faire un histogramme avec les données de ma db.
j'ai donc télécharger jpgraph-1.20.1 je travail avec php5.3.4 et apache 2.2.17
j'ai mis le dossier jpgraph-1.20.1 dans wamp/www
quand je test les exemples qui sont dans ce dossier il m'affiche ce message:
"l'image ne peut être affiché car il contient des erreurs"
j votre aide sera la bien venu
merci
voici un des codes téléchargé que j'ai testé
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
 
<?php 
include ("../jpgraph.php");
include ("../jpgraph_bar.php");
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'tuto_jp_graph');
$tableauAnnees = array();
$tableauNombreVentes = array();
?>
 
<?php
/* Extraction des données dans la base de données*/
 
$sql ="SELECT
YEAR(`DTHR_VENTE`) AS ANNEE,
COUNT(ID) AS NBR_VENTES
FROM `ventes`
GROUP BY YEAR(`DTHR_VENTE`)";
$mysqlCnx = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Pb de connxion mysql');
echo 'loss';
@mysql_select_db(MYSQL_DATABASE) or die('Pb de sélection de la base');
$mysqlQuery = @mysql_query($sql, $mysqlCnx) or die('Pb de requête');
while ($row = mysql_fetch_array($mysqlQuery, MYSQL_ASSOC)) {
$tableauAnnees[] = 'Année ' . $row['ANNEE'];
$tableauNombreVentes[] = $row['NBR_VENTES'];
}
/*
printf('<pre>%s</pre>', print_r($tableauAnnees,1));
printf('<pre>%s</pre>', print_r($tableauNombreVentes,1));
*/
// *******************
// Création du graph
// *******************
// Construction du conteneur
// Spécification largeur et hauteur
$graph = new Graph(400,250);
// A détailler !!
$graph->SetScale("textlin");
// Ajouter une ombre au conteneur
$graph->SetShadow();
// Fixer les marges
$graph->img->SetMargin(40,30,25,40);
// Création du graphique histogramme
$bplot = new BarPlot($tableauNombreVentes);
// Spécification des couleurs des barres
$bplot->SetFillColor(array('red', 'green', 'blue'));
// Une ombre pour chaque barre
$bplot->SetShadow();
// Afficher les valeurs pour chaque barre
$bplot->value->Show();
// Fixer l'aspect de la police
$bplot->value->SetFont(FF_ARIAL,FS_NORMAL,9);
// Modifier le rendu de chaque valeur
$bplot->value->SetFormat('%d ventes');
// Ajouter les barres au conteneur
$graph->Add($bplot);
// Le titre
$graph->title->Set("Graphique 'HISTOGRAMME' : ventes par années");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
// Titre pour l'axe horizontal(axe x) et vertical (axe y)
$graph->xaxis->title->Set("Années");
$graph->yaxis->title->Set("Nombre de ventes");
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
// Légende pour l'axe horizontal
$graph->xaxis->SetTickLabels($tableauAnnees);
// Afficher le graphique
$graph->Stroke();
?>
niyio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 13h48   #2
Invité de passage
 
Homme
Ingénieur systèmes et réseaux
Inscription : novembre 2011
Messages : 8
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Industrie

Informations forums :
Inscription : novembre 2011
Messages : 8
Points : 4
Points : 4
j'ai le même problème en testant un graphique tout simple
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ydata = array(11,3,8,12,5,1,9,13,5,7);
 
// Create the graph. These two calls are always required
$graph = new Graph(350,250,"auto");	
$graph->SetScale("textlin");
 
// Create the linear plot
$lineplot=new LinePlot($ydata);
$lineplot->SetColor("blue");
 
// Add the plot to the graph
$graph->Add($lineplot);
 
// Display the graph
$graph->Stroke();
sachant que j'ai modifié le fichier jpg-config.inc.php avec les lignes suivantes :
define('CACHE_DIR','C:/Windows/Temp/');
define('TTF_DIR','C:/Windows/Fonts/');
define('MBTTF_DIR','C:/Windows/Fonts/');
franck10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 15h13   #3
Invité de passage
 
Homme
Ingénieur systèmes et réseaux
Inscription : novembre 2011
Messages : 8
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Industrie

Informations forums :
Inscription : novembre 2011
Messages : 8
Points : 4
Points : 4
je viens de comprendre une chose qui n'était pas clair pour moi, et donc peut être pour d'autre personne aussi, c'est qu'il ne faut mettre le code directement dans la page où l'on veut faire apparaître le graphique, mais dans une page php qui va générer l'image, que l'on fera apparaître sur la page principale avec la fonction
Code :
echo"<img src='monGrapique.php'>";
Si ça peut aider du monde.
franck10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2011, 12h46   #4
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Salut,

il doit avoir erreur quelque part dans ton script.

peux tu commenter la dernière ligne $graph->Stroke(); afin de voir si tu as un warning affiché ?

S'il te plait, sâches bien gérer les erreurs. Enlèves les @ de ton code...
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2012, 17h27   #5
Invité de passage
 
Inscription : mars 2010
Messages : 22
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 22
Points : 4
Points : 4
Citation:
Envoyé par franck10 Voir le message
je viens de comprendre une chose qui n'était pas clair pour moi, et donc peut être pour d'autre personne aussi, c'est qu'il ne faut mettre le code directement dans la page où l'on veut faire apparaître le graphique, mais dans une page php qui va générer l'image, que l'on fera apparaître sur la page principale avec la fonction
Code :
echo"<img src='monGrapique.php'>";
Si ça peut aider du monde.

Est ce réellement nécessaire? On ne peut pas créer le graphique dans une page directement?
Car je rencontre le même problème: j'ai inséré un code test pour générer un graph dans ma page et ca plante. Par contre si je l'écrit dans une fichier.php et que je l'appelle via une balise image alors tout fonctionne bien.
mat_elot est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h18.


 
 
 
 
Partenaires

Hébergement Web