Page 1 sur 1

Graphique ajouter quadrillage...

Posté : 11 juin 2005, 08:58
par Thom34_meteociel
Bonjour,

J'aimerais creer un graphique, avec le quadrillage, les données qui s'inscrivent à gauche, en bas. et la legende.

Voici ma source du fichier

Code : Tout sélectionner

<?php // On pourra supposer que les données sont lues // dans une base de données mais dans l'immédiat // a titre d'exemple elles sont simplement codées "en dur" $valeurs = array(287,217,227,277,262,378,329,389,270,287,202,201,248,387,468,352,356,293,383,384,260,316,343,396,339,266,235,228,295,263,297, 371,485,337,251,282,265,231,402,483,432,565,707,663,692,674,505,471,444,516,589,696,546,492,592,567,640,534,760,566,477,483,588,915,490,433, 583,477,502); header("Content-type: image/png"); $largeur = 600; $hauteur = 600; $img = imageCreate($largeur, $hauteur); $rouge = imageColorAllocate($img, 200, 100, 100); $noir = imageColorAllocate($img, 0, 0, 0); $fond = imageColorAllocate($img, 240, 240, 240); $barreCouleur = imageColorAllocate($img, 0, 255, 0); //imagecolortransparent($im,$rouge); $titre = "Graphique de visites de Meteociel.com Avril-Juin2005 "; $titrePolice = 5; imageString($img, $titrePolice, ($largeur-ImageFontWidth($titrePolice)*strlen($titre))/2, 0, $titre, $noir); //imageTTFText($im, 15, 90, $largeur-10, $hauteur-10, $noir, "Gigi.ttf", // "Copyright PHP Facile !"); // Tracé du fond de l'histogramme imageFilledRectangle($img, 10, 20, $largeur-25, $hauteur-10, $fond); // Connaissant le nombre de barres = sizeOf($valeurs) // et la largeur de l'image (en tenant compte des bords) // il est possible de déterminer la largeur d'une barre $barreLargeur = (int)(($largeur-35)/(1.5*sizeOf($valeurs)+0.5)); // Pour ajuster l'échelle (en hauteur) il faut déterminer // la plus grande valeur du tableau $max = 0; for ($i=0; $i<sizeOf($valeurs); $i++) { if ($valeurs[$i]>$max) $max = $valeurs[$i]; } // Nous avons toutes les informations nécessaire // il est alors possible de tracer toutes les barres for ($i=0; $i<sizeOf($valeurs); $i++) { $x = 10+(int)($barreLargeur*(0.5+$i*1.5)); $barreHauteur = (int)(($valeurs[$i]*($hauteur-40))/$max); imageFilledRectangle($img, $x, $hauteur-15-$barreHauteur, $x+$barreLargeur, $hauteur-15, $barreCouleur); } imagePNG($img); imageDestroy($img); ?>
Merci à tous pour vos reponses
je suis disponible sur msn : [email protected] (egalement mon email)

Posté : 11 juin 2005, 09:38
par progfou
Mouais, je vois le truc, mais tu veux écrire toutes les données ?
A gauche et en bas tu as quoi ?
Le quadrillage, ok, mais à quel pas ?

Posté : 11 juin 2005, 11:47
par Thom34_meteociel
bein sa donne sa en gros

http://meteociel.com/graf/

Posté : 11 juin 2005, 12:37
par progfou
Je sais ce que ça donne, mais je veux savoir ce que tu veux ;)

Posté : 11 juin 2005, 13:19
par Thom34_meteociel
Bein avoir la valeur maximale, puis des valeurs intermediaire sur le coté gauche (nombre d'intervalle je sais pas )
Puis en bas pouvoir ajouter les jours ou autres:)
Le quadrillage se fasse en fonction du coté gauche :)

j'aimerais utiliser ce genre de graphique pour des temperatures aussi... 8)