Creer un camembert 2D facilement
Ce code vous permet de generer dynamiquement un graphique Camembert en 2D.
Vous devez disposer de la librairie GD pour l'utiliser.
Pour l'exemple j'ai utilisé 2 polices TTF : HypatiaSansPro (Fournis par Adobe), et Verdana (police inclus dans Windows).
Pensez a modifier les polices pour essayer ce code (lignes 81/82/83)
Cette fonction a beaucoup d'options, mais j'ai pu en oublié, je reste ouvert a toute proposition.
[25/06/2009] Correction : Le graphique ne pouvais etre generer si vous aviez choisis l'autoVal, et qu'une (ou plusieurs) de vos valeurs vallait moins de 0.1239 %. Pour resoudre le probléme, modifier la boucle autoVal (Voir mention EDIT dans le code).
Voici la description pour l'utilisation de ce code.
bool Camembert( array $value [, bool $autoVal [, bool $legend [, bool $legendVal [, string $title [, array $key [, int $width [, int $height [, int $marge_x [, int $marge_y [, int $width_legend ]]]]]]]]]] )
value:
array - Tableau des valeurs a grapher.
autoVal:
bool - Si autoVal vaut TRUE, les valeurs en pourcentage sont calculées automatiquement. Sinon la somme des valeurs de $value doivent etre egale a 100.
legend:
bool - Si legend vaut TRUE, les legendes seront affichée a droite du camembert. Sinon les legendes ne seront pas affichée.
legendVal:
bool - Si legendVal vaut TRUE, les valeurs en % apparaitront avec le texte de la legende.
title:
string - Si title est defini, celui-ci apparaitra au dessus de la legende.
key:
array - Tableau contenu le titre de valeur.
width:
int - Defini la largeur du camembert. Vaut 300 px par défaut.
height:
int - Defini la hauteur du camembert. Vaut 300 px par défaut.
marge_x:
int - Defini la marge a appliquer a gauche du camembert. Vaut 20 px par défaut.
marge_y:
int - Defini la marge a appliquer en haut du camembert. Vaut 20 px par défaut.
width_legend:
int - Defini la largeur du bandeau contenant la legende.
Vous devez disposer de la librairie GD pour l'utiliser.
Pour l'exemple j'ai utilisé 2 polices TTF : HypatiaSansPro (Fournis par Adobe), et Verdana (police inclus dans Windows).
Pensez a modifier les polices pour essayer ce code (lignes 81/82/83)
Cette fonction a beaucoup d'options, mais j'ai pu en oublié, je reste ouvert a toute proposition.
[25/06/2009] Correction : Le graphique ne pouvais etre generer si vous aviez choisis l'autoVal, et qu'une (ou plusieurs) de vos valeurs vallait moins de 0.1239 %. Pour resoudre le probléme, modifier la boucle autoVal (Voir mention EDIT dans le code).
Voici la description pour l'utilisation de ce code.
bool Camembert( array $value [, bool $autoVal [, bool $legend [, bool $legendVal [, string $title [, array $key [, int $width [, int $height [, int $marge_x [, int $marge_y [, int $width_legend ]]]]]]]]]] )
value:
array - Tableau des valeurs a grapher.
autoVal:
bool - Si autoVal vaut TRUE, les valeurs en pourcentage sont calculées automatiquement. Sinon la somme des valeurs de $value doivent etre egale a 100.
legend:
bool - Si legend vaut TRUE, les legendes seront affichée a droite du camembert. Sinon les legendes ne seront pas affichée.
legendVal:
bool - Si legendVal vaut TRUE, les valeurs en % apparaitront avec le texte de la legende.
title:
string - Si title est defini, celui-ci apparaitra au dessus de la legende.
key:
array - Tableau contenu le titre de valeur.
width:
int - Defini la largeur du camembert. Vaut 300 px par défaut.
height:
int - Defini la hauteur du camembert. Vaut 300 px par défaut.
marge_x:
int - Defini la marge a appliquer a gauche du camembert. Vaut 20 px par défaut.
marge_y:
int - Defini la marge a appliquer en haut du camembert. Vaut 20 px par défaut.
width_legend:
int - Defini la largeur du bandeau contenant la legende.
|
|
Code Source
Fonctions du code
: Compte le nombre d'éléments d'un tableau ou le nombre de propriétés...
: Crée un tableau - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: Crée une nouvelle image en couleurs vraies - (PHP 4 >= 4.0.6, PHP 5)
: Retourne le chemin canonique absolu - (PHP 4, PHP 5)
: Alloue une couleur pour une image - (PHP 4, PHP 5)
: Dessine un rectangle rempli - (PHP 4, PHP 5)
: Dessine une ellipse pleine - (PHP 4 >= 4.0.6, PHP 5)
: -
: Dessine une ellipse partielle et la remplit - (PHP 4 >= 4.0.6, PHP 5)
: Envoie un en-tête HTTP - (PHP 4, PHP 5)
: Retourne le rectangle entourant un texte et dessiné avec une police TrueType - (PHP...
: Dessine un texte avec une police TrueType - (PHP 4, PHP 5)
: Dessine un rectangle - (PHP 4, PHP 5)
: Copie et redimensionne une partie d'une image - (PHP 4, PHP 5)
: Détruit une image - (PHP 4, PHP 5)
: Envoie une image PNG vers un navigateur ou un fichier - (PHP 4, PHP 5)
Commentaire
Merci pour cette page très utile !
Juste une suggestion : depuis quelques temps, imagefilledarc ne fonctionnait plus du tout, et je me retrouvais avec un camembert complètement noir.
J'ai résolu le problème en remplaçant
'IMG_ARC_NOFILL IMG_ARC_EDGED'
par
IMG_ARC_PIE
J'espère que ça pourra être utile à d'autres qui pourraient avoir le même problème.
Juste une suggestion : depuis quelques temps, imagefilledarc ne fonctionnait plus du tout, et je me retrouvais avec un camembert complètement noir.
J'ai résolu le problème en remplaçant
'IMG_ARC_NOFILL IMG_ARC_EDGED'
par
IMG_ARC_PIE
J'espère que ça pourra être utile à d'autres qui pourraient avoir le même problème.
Ajouter un commentaire
Librairie PHP
Connexion
GD-Graphiques
PHP
- Affichage (5)
- Applications (9)
- Chaînes (71)
- Classes (29)
- Constantes (4)
- Cookies (3)
- Date-Heure (40)
- Email (14)
- Fichiers - Réps (45)
- Fonctions (23)
- Formulaires (18)
- GD-Graphiques (11)
- Google (13)
- HTML (7)
- Images (21)
- Inclassable (28)
- Maths (24)
- MySQL (23)
- Navigateurs (6)
- Recherches (6)
- Regex (13)
- Reseau (2)
- Sécurité (25)
- Sessions (13)
- Statistiques (5)
- Système (18)
- Tableaux (21)
- Tag-cloud (3)
- Templates (3)
- Twitter (5)
- URL (22)
- Variables (8)
- Vidéos (2)
- Windows (1)
- XML (2)






















