J'ai déposé sur
http://www.phpcs.com/code.aspx?ID=32421
un source qui permet de générer un histogramme de plusieurs séries de chiffres, programmé en objet et basé sur CSS
On m'a fait remarquer à juste titre que la librairie GD existait ;-)
J'ai donc refait le programme avec GD, sauf que:
1) j'ai pris mon objet de base, en est extrait la partie commune
--> oc_listes.php
(contient entre autre le calcul des coordonnées des barres à dessiner)
2) J'en ai déduit les nouvelles classes que j'ai séparé en 2 fichiers
--> oc_histogramme.php pour la version CSS
--> oc_gdhistogramme.php pour la version GD
Du coup, ca fait a mon sens un super exemple de ce à quoi sert la programmation objet...
Comme tout ce que je présente ici se trouve aussi sur mon site perso, et que j'ai pas envi aujourd'hui de me farcir tout en double, vous avez les fichiers en brut, sans commentaire à part dans le code (et dans le source que je cite plus haut, puisqu'après tout, le plus gros du travail était déjà fait)
--> oc_listes.php
--> oc_gdhistogramme.php
--> exemple_gd_histogramme.php
--> oc_histogramme.php
--> exemple_histogramme.php
--> test.htm (qui ne se contient que de la partie GD)
Comparez les fichiers d'initialisation de l'histogramme
--> exemple_gd_histogramme.php
--> exemple_histogramme.php
et vous verrez à quel point ils sont similaires !
Pour voir un exemple en 3D, avoir d'autres explications...
http://originalcompo.free.fr
rubrique DIVERS
sous rubrique Programmation Web
lien "class THistogramme et TGDHistogramme"
ou bien ajoutez un commentaire à la source !
je fais de la pub pour ma source mais elle permet de générer de graphiques vraiment très simplement, il suffit de renseigner des tableaux avec les données en provenance de la BDD....
http://www.phpcs.com/code.aspx?ID=47171
Bravo et merci.
j'aurais juste une question :
comment exploiter cette source avec dans les array des variables en boucle.
par exemple $y correspond à une année, $variable correspond à ma variable, $variable[$y] étant la valeur de ma variable pour l'année $y. Comment générer le tableau avec un for ($y=$annee1;$y<=$annee2;$y++) ?
merci.
Pour le "serie 1", "serie 2"... les valeurs sont gérés dans le init de l'objet, et stockées dans "legende"
La 1ère version de cette classe d'histogramme utilisait des balises
, et j'utilisais le champ "legende" dans la propriété "alt" de la balise
.
En gros, l'info apparaissait lorsqu'on passait la souris sur une barre (il y avait le nom de la série suivi de la valeur entre parenthèses)
Dans la 2ième version qui est ici, j'ai ré-utilisé un tronc commun objet, mais je n'ai effectivement pas géré cette valeur, donc tu as parfaitement raison, ca ne sert à rien, je ne m'en étais pas rendu compte d'ailleurs
PS: les 2 versions du code se trouvent sur mon site,
http://mywebdev.free.fr/PHP/index.php
Cependant, j'aimerai afficher (par Ex:) les mois sous les chiffes que je récupèrent, les mois ou du texte différent fct de chaque barre me suis-je bien fait comprendre ?
_ _ _
| | | | _ | |
| | | | | | | | (Bon faut imaginer que c'est l'histogramme).
| | | | | | | |
|_| |_| |_| |_|
4 4 2 5
jan fev Mar Avr
Il me faudrait quelque chose comme ça !
Merci.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.