Bonjour,
J'ai trouvé un exemple de codes que voici:
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
<?php
include ("../jpgraph/jpgraph.php");
include ("../jpgraph/jpgraph_bar.php");
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'tuto_jp_graph');
$tableauAnnees = array();
$tableauNombreVentes = array();
// **********************************************
// Extraction des données dans la base de données
// *************************************************
$sql = <<<EOF
SELECT
YEAR(`DTHR_VENTE`) AS ANNEE,
COUNT(ID) AS NBR_VENTES
FROM `ventes`
GROUP BY YEAR(`DTHR_VENTE`)
EOF;
$mysqlCnx = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Pb de connxion mysql');
@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'];
}
// *******************
// Création du graphique
// *******************
// Construction du conteneur
// Spécification largeur et hauteur
$graph = new Graph(400,250);
// Réprésentation linéaire
$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();
?>
Pour obtenir cette image:
Nom : 2015-10-19_18h40_59.png
Affichages : 140
Taille : 46,3 Ko

Ceux ci étant obsolètes je les ai donc modifiés pour créer celui ci:

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
<?php
include ("../src/jpgraph.php");
include ("../src/jpgraph_bar.php");
try
{
$connection = new PDO('mysql:host=localhost;dbname=tuto_jp_graph', 'root', '');
}catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$tableauAnnees = array();
$tableauNombreVentes = array();
// **********************************************
// Extraction des données dans la base de données
// *************************************************
 
$requete = $connection->prepare("SELECT YEAR(`DTHR_VENTE`) AS ANNEE,
COUNT(ID) AS NBR_VENTES FROM `ventes`
GROUP BY YEAR(`DTHR_VENTE`)");
 $requete->execute();
 //while ($row = $requete->fetch) {
 while ($row = $requete->fetch(PDO::FETCH_ASSOC)) {
	$tableauAnnees[] = 'Année ' . $row['ANNEE'];
	$tableauNombreVentes[] = $row['NBR_VENTES']; 
   //$data[] = $row['points'];
   //$legend[] = $row['username'];
}
// *******************
// Création du graphique
// *******************
// Construction du conteneur
// Spécification largeur et hauteur
$graph = new Graph(400,250);
// Réprésentation linéaire
$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 annees");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
// Titre pour l'axe horizontal(axe x) et vertical (axe y)
$graph->xaxis->title->Set("Annees");
$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();
?>
Mais ce code ne reproduit pas l'image exacte d'origine puisque voici celle fournie par celui ci:

Nom : 2015-10-19_18h16_14.png
Affichages : 143
Taille : 5,9 Ko

Vous constaterez des différences importantes surtout sur les couleurs ainsi que les ombres et les notations absentes sur les barres.
Je pense que les lignes 47, 49 et 51 ne sont pas opérationnelles avec "Value".
Ainsi pourriez vous m'indiquer ce que je dois modifier à mes codes pour obtenir une image identique à celle d'origine?

Merci.