Bibliothèque graphique : Artichow
Publié par hello il y a 6 mois
Artichow est une bibliothèque qui permet de créer simplement des graphiques avec PHP et GD. Elle évolue régulièrement avec de nouvelles possibilités.
Artichow est une alternative du point graphique par rapport aux applications déjà existante, et sous licence Domaine Public
L'article a été réalisé avec la version 1.10 de Artichow qui fonctionne avec les versions 4 et 5 du PHP.Introduction
Les possibilitées d'artichow sont nombreuses et évoluent régulièrement :
- Les réalisations graphiques : les courbes, les histogrammes, les camemberts, Les graphiques libres, Les fonctions mathématiques, Les images anti-spam, Dessin libre...
- Les couleurs : Des dégradés, gestion de transparence, couleurs pleine, relief
- Gère l'antialiasing
- Incorporation de légendes

Installation
Dans un premier temps vous devez télécharger la bibliothèque à l'adresse suivante : http://www.artichow.org/download
Pour pouvoir executer et visualiser les exemples qui sont fournis, vous devez :
- Activer la GD (php_gd2.dll dans votre php.ini sous windows)
- Retenir le dossier PHP4 ou PHP5, suivant la version du PHP que vous utilisez. Ces dossiers contiennent les bibliothèques nécessaire pour faire fonctionner correctement l'application
Afficher une image dynamique
Un fichier PHP qui genère une image est équivalent à une image du point de vue de votre navigateur (firefox, ie, opéra,...). Il n'est donc pas possible dans un fichier PHP qui genère une image d'afficher du texte en dessous.
On fait donc générallement appel au fichier PHP qui genère une image de la façon suivante :
Nous allons étudier comment faire une courbe graphique avec des données et une légende.
- <?php
- require_once "LinePlot.class.php"; // appel de la librairie des Lignes
- $graph = new Graph(400,300); // creation de l'objet Graph
- $plot = new LinePlot($yvalues); // creation du tracé et son type
- $plot->setSpace(5, 5, 10, NULL); // on insere un peu d'espace par rapport à la bordure
- $plot->title->set("Titre"); // titre pour le Graph
- $plot->title->setFont(new TuffyBold(12)); // Police et taille de caractere
- $plot->xAxis->title->set("Période");//legende en X
- $plot->xAxis->title->setFont(new TuffyBold(10)); // Police et taille de caractere
- $plot->yAxis->title->set("Nombre"); // legende en Y
- $plot->yAxis->title->setFont(new TuffyBold(10)); // Police et taille de caractere
- $graph->add($plot); // ajoute le tracé
- $graph->draw(); // On affiche le graphique
- ?>

Analyse par Camembert
L'exemple suivant permet de varier les présentations en proposant quelque chose de différents de ce qui peut etre vue dans la majorité des statistiques pouvant exister.
- <?php
- require_once "Pie.class.php"; // appel de la librairie des cercles
- $graph = new Graph(400, 250); // creation de l'objet Graph
- $graph->setAntiAliasing(TRUE); //active l'Anti Alias pour faire plus jolie
- $plot = new Pie($values, PIE_EARTH); // creation camembert (valeur en %)
- $plot->setCenter(0.4, 0.55); // positionne le centre du camenbert
- $plot->setSize(0.7, 0.6); // taille de l'ombre
- $plot->set3D(8); // hauteur de la 3D
- $plot->setLegend($legende); // affiche la legende
- $plot->legend->setPosition(1.3); // determine la position de la légende
- $graph->add($plot); // ajoute le tracé
- $graph->draw(); // affiche le graph
- ?>

Filtre graphique
De nombreux sites obligent lors de la création d'un nouveau compte utilisateur, de saisir un code AntiSpam pour être sur que vous êtes bien une personne physique.

Avec Artichow vous pouvez le faire de façon tres simple.
- <?php
- require_once "AntiSpam.class.php"; // appel de la librairie antispam
- $object = new AntiSpam(); // creation de l'objet Graph
- $object->setRand(7); // nombre de caractères à afficher
- $object->save('example'); // memorise les caractères
- $object->draw(); // affiche le resultat
- ?>
Il est possible de récupérer la valeur qui est affiché pour tester si le code est correcte. Il faut commencer par un formulaire de saisie, pour que l'utilisateur saisisse ce qu'il voit :
- <html>
- <body>
- <form action="ex4-resultat.php" method="get">
- <img src="ex3.php">
- <input type="text" name="code"/>
- <input type="submit" value="Confirmer"/>
- </form>
- </body>
- </html>
Et après saisie, on vérifie si le code tapé est correct pour continuer.
- <?php
- require_once "AntiSpam.class.php";
- $object = new AntiSpam();
- if($object->check('example', $_GET['code']))
- echo "Code Correcte";
- else
- echo "Erreur de saisie";
- ?>
Conclusion
La bibliothèque Artichow est un ensemble complet pour la manipulation graphique d'excellente qualitée. Elle n'a pas le niveau fonctionnel de la JpGraph mais s'en rapproche.
Le site officiel de l'application : http://www.artichow.org et merci à ses auteurs (français !)