6.Le langage PHP
6.14.JpGraph pour tracer courbes et diagrammes
6.14.1.Introduction
Nous avons vu que PHP permet de créer des images à la volée, via la bibliothèque GD
[comment?]
. Cela nous a par exemple permis de tracer des histogrammes. Mais tracer des histogrammes, des diagrammes, des camemberts réclame pas mal de travail ne serait-ce que pour régler les problèmes d'échelle. Dans ce cas, il peut être fort judicieux d'utiliser une bibliothèque pour se simplifier la vie. C'est ce que propose JpGraph.
JpGraph est un ensemble de fichiers PHP. Nous pouvons même dire, un ensemble de classes puisque JpGraph est écrit en programmation orientée objet
[c'est quoi?]
(nous ne nous intéresserons, ici, qu'à la version 2 et supérieure de JpGraph, prévue pour fonctionner avec PHP 5.1 et plus).
6.14.2.Installation
Comme JpGraph s'appuie sur la bibliothèque GD (version 2) il convient de s'assurer que ce module est installé
[comment?]
.
JpGraph, quant à lui, est à télécharger ici (veillez bien à prendre la version pour PHP>=5.1). Une fois l'archive .tar.gz récupérée, vous pouvez la décompresser dans le dossier de votre choix. Seul le contenu du répertoire src/ est nécessaire à l'exécution (son sous répertoire Examples n'est pas utile non plus). Vous devez donc copier ce contenu dans un dossier accessible (pour un include) depuis votre site web. Si, vous avez un doute, copiez simplement le contenu de src dans un dossier jpgraph à la racine de votre espace web
[où?]
.
6.14.3.Histogramme
L'histogramme que nous avons tracé (pas simplement) dans le chapitre sur la bibliothèque GD, nous pouvons le tracer avec JpGraph, via le script suivant:
et voici le résultat

C'est quand même plus simple, non?
|
<?php
require_once("include_path_inc.php"); require_once("jpgraph.php"); require_once("jpgraph_bar.php"); $donnees = array(12,23,9,58,23,26,57,48,12); $largeur = 250; $hauteur = 200; // Initialisation du graphique $graphe = new Graph($largeur, $hauteur); // Echelle lineaire ('lin') en ordonnee et pas de valeur en abscisse ('text') // Valeurs min et max seront determinees automatiquement $graphe->setScale("textlin"); // Creation de l'histogramme $histo = new BarPlot($donnees); // Ajout de l'histogramme au graphique $graphe->add($histo); // Ajout du titre du graphique $graphe->title->set("Histogramme"); // Affichage du graphique $graphe->stroke(); ?> |
Les commentaires associés au script devraient être suffisamment clairs pour comprendre le principe. Voici tout de même deux petites informations.
Le fichier jpgraph.php doit être inclus quelque soit le type de graphique voulu. Le fichier jpgraph_bar.php est dédié au tracé d'histogramme.
Nous avons créé un petit script include_path_inc.php afin de modifier le chemin de recherche des scripts PHP pour que les fichiers jpgraph_*.php puissent être trouvés. Copiez le script suivant au même endroit que jpgraph_histo.php.
Si vous avez copié le contenu du dossier src de JpGraph dans un repertoire jpgraph au même endroit que le script jpgraph_histo.php vous ne devriez avoir rien a changer, sinon, modifiez le chemin précisé dans include_path_inc.php pour pointer vers le dossier contenant les fichiers de JpGraph.
|
<?php
set_include_path(get_include_path().PATH_SEPARATOR. dirname(__FILE__)."/jpgraph/"); ?> |
![]() |
|
6.14.4.Courbe
Vous auriez préféré une courbe plutôt qu'un histogramme? Facile, il suffit de
ce qui donne

dont voici le code
|
6.14.5.Superposition de tracés
Pour superposer des tracés, rien de plus simple. Il suffit de les ajouter, les uns après les autres, avec la méthode add() de l'objet Graph.

dont voici le code
Ce n'est toujours pas ce que vous vouliez? Alors poursuivons.



jpgraph_histo.php5

