Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CREATION D'UN HISTOGRAMME IDEAL POUR LES STATISTIQUES [TITRE MODERE CAR BOURRE DE FAUTES...]


Information sur la source

Catégorie :Graphique Classé sous : histogramme, gd, graphique, statistique, image Niveau : Initié Date de création : 23/09/2005 Date de mise à jour : 23/09/2005 19:54:23 Vu : 11 812

Note :
6,22 / 10 - par 9 personnes
6,22 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Un jolie histogrammes pour les statistique (parametrable

?id1=nb1&id2=nb2&id3=nb3&id4=nb4&id5=nb5&pid1=nom1&pid2=nom2&pid3=nom3&pid4=nom4&pid5=nom5)
 

Source

  • <?
  • if(isset($_GET['id1']) && isset($_GET['id2']) && isset($_GET['id3']) && isset($_GET['id4']) && isset($_GET['id5']) && isset($_GET['pid1']) && isset($_GET['pid2']) && isset($_GET['pid3']) && isset($_GET['pid4']) && isset($_GET['pid5']))
  • {
  • /*
  • ** Histogramme au format GIF
  • */
  • //Les paramètres
  • $GraphWidth = 400;
  • $GraphHeight = 200;
  • $GraphScale = 2;
  • $GraphFont = 5;
  • $GraphData = array($_GET['id1'], $_GET['id2'],
  • $_GET['id3'], $_GET['id4'], $_GET['id5']);
  • $GraphLabel = array($_GET['pid1'], $_GET['pid2'],
  • $_GET['pid3'], $_GET['pid4'], $_GET['pid5']);
  • //L'image
  • $image = imagecreate($GraphWidth, $GraphHeight);
  • //allocate colors
  • $colorBody = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
  • $colorGrid = imagecolorallocate($image, 0xCC, 0xCC, 0xCC);
  • $colorBar = imagecolorallocate($image, 0xFF, 0x00, 0x00);
  • $colorText = imagecolorallocate($image, 0x00, 0x00, 0x00);
  • //L'arrière-plan
  • imagefill($image, 0, 0, $colorBody);
  • //Les lignes verticales
  • $GridLabelWidth = imagefontwidth($GraphFont)*3 + 1;
  • imageline($image,
  • $GridLabelWidth, 0,
  • $GridLabelWidth, $GraphHeight-1,
  • $colorGrid);
  • //Les lignes horizontales
  • for($index = 0; $index < $GraphHeight; $index += $GraphHeight/10)
  • {
  • imagedashedline($image,
  • 0, $index,
  • $GraphWidth-1, $index,
  • $colorGrid);
  • //Le titre
  • imagestring($image,
  • $GraphFont,
  • 0,
  • $index,
  • round(($GraphHeight - $index)/$GraphScale),
  • $colorText);
  • }
  • //Les lignes du bas
  • imageline($image,
  • 0, $GraphHeight-1,
  • $GraphWidth-1, $GraphHeight-1,
  • $colorGrid);
  • //Les barres
  • $BarWidth = (($GraphWidth-$GridLabelWidth)/count($GraphData)) - 10;
  • for($index = 0; $index < count($GraphData); $index++)
  • {
  • //dessiner une barre
  • $BarTopX = $GridLabelWidth + (($index+1) * 10) + ($index * $BarWidth);
  • $BarBottomX = $BarTopX + $BarWidth;
  • $BarBottomY = $GraphHeight-1;
  • $BarTopY = $BarBottomY - ($GraphData[$index] * $GraphScale);
  • imagefilledrectangle($image,
  • $BarTopX, $BarTopY,
  • $BarBottomX, $BarBottomY,
  • $colorBar);
  • //tracer le titre
  • $LabelX = $BarTopX +
  • (($BarBottomX - $BarTopX)/2) -
  • (imagefontheight($GraphFont)/2);
  • $LabelY = $BarBottomY-10;
  • imagestringup($image,
  • $GraphFont,
  • $LabelX,
  • $LabelY,
  • "$GraphLabel[$index]: $GraphData[$index]",
  • $colorText);
  • }
  • //afficher l'image
  • header("Content-type: image/gif");
  • imagegif($image);
  • }else{
  • echo '<fieldset style="position:absolute;border-color:#0000FF;border:1 solid"><b>Une erreur c\'est produite lors de la création du graphique :<br><li><font color=red>Tout les Arguments ne sont pas spécifier</b></font></fieldset>';
  • }
  • ?>
<?

if(isset($_GET['id1']) && isset($_GET['id2']) && isset($_GET['id3']) && isset($_GET['id4']) && isset($_GET['id5']) && isset($_GET['pid1']) && isset($_GET['pid2']) && isset($_GET['pid3']) && isset($_GET['pid4']) && isset($_GET['pid5']))
{

    /*
    ** Histogramme au format GIF
    */

    //Les paramètres
    $GraphWidth = 400;
    $GraphHeight = 200;
    $GraphScale = 2;
    $GraphFont = 5;
    $GraphData = array($_GET['id1'], $_GET['id2'],
        $_GET['id3'], $_GET['id4'], $_GET['id5']);
    $GraphLabel = array($_GET['pid1'], $_GET['pid2'],
        $_GET['pid3'], $_GET['pid4'], $_GET['pid5']);


    //L'image
    $image = imagecreate($GraphWidth, $GraphHeight);

    //allocate colors
    $colorBody = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
    $colorGrid = imagecolorallocate($image, 0xCC, 0xCC, 0xCC);
    $colorBar = imagecolorallocate($image, 0xFF, 0x00, 0x00);
    $colorText = imagecolorallocate($image, 0x00, 0x00, 0x00);


    //L'arrière-plan
    imagefill($image, 0, 0, $colorBody);

    //Les lignes verticales
    $GridLabelWidth = imagefontwidth($GraphFont)*3 + 1;
    imageline($image,
        $GridLabelWidth, 0,
        $GridLabelWidth, $GraphHeight-1,
        $colorGrid);


    //Les lignes horizontales
    for($index = 0; $index < $GraphHeight; $index += $GraphHeight/10)
    {
        imagedashedline($image,
            0, $index,
            $GraphWidth-1, $index,
            $colorGrid);

        //Le titre
        imagestring($image,
            $GraphFont,
            0,
            $index,
            round(($GraphHeight - $index)/$GraphScale),
            $colorText);
    }

    //Les lignes du bas
    imageline($image,
        0, $GraphHeight-1,
        $GraphWidth-1, $GraphHeight-1,
        $colorGrid);

    //Les barres
    $BarWidth = (($GraphWidth-$GridLabelWidth)/count($GraphData)) - 10;
    for($index = 0; $index < count($GraphData); $index++)
    {
        //dessiner une barre
        $BarTopX = $GridLabelWidth +  (($index+1) * 10) +  ($index * $BarWidth);
        $BarBottomX = $BarTopX + $BarWidth;
        $BarBottomY = $GraphHeight-1;
        $BarTopY = $BarBottomY - ($GraphData[$index] * $GraphScale);

        imagefilledrectangle($image,
            $BarTopX, $BarTopY,
            $BarBottomX, $BarBottomY,
            $colorBar);

        //tracer le titre
        $LabelX = $BarTopX +
            (($BarBottomX - $BarTopX)/2) -
            (imagefontheight($GraphFont)/2);
        $LabelY = $BarBottomY-10;

        imagestringup($image,
            $GraphFont,
            $LabelX,
            $LabelY,
            "$GraphLabel[$index]: $GraphData[$index]",
            $colorText);

    }

    //afficher l'image
    header("Content-type: image/gif");
    imagegif($image);
}else{


	echo '<fieldset style="position:absolute;border-color:#0000FF;border:1 solid"><b>Une erreur c\'est produite lors de la création du graphique :<br><li><font color=red>Tout les Arguments ne sont pas spécifier</b></font></fieldset>';


}
?>

Historique

23 septembre 2005 19:54:23 :
rajout de l'url :)

Commentaires et avis

signaler à un administrateur
Commentaire de wizard512 le 24/09/2005 14:40:21

Idéale pour les statistiques (ou pour les impots ou les benéfice d'une entreprise ^^) nan ?

signaler à un administrateur
Commentaire de Shisui le 24/09/2005 23:01:32

Décidément tu es soit celui qui a lancé tout les scripts de statistiques soit celui qui les a tous copiés, sur le meme site que celui cité dans mon com sur ton générateur de camembert on trouve encore exactement le meme code que le tient (http://members.shaw.ca/webstudy/php/makebar.htm), et là encore tu rajoute une condition (la meme) et tu traduit les commentaires (toujours mal en plus :p), donc faudrait vraiment voir à t'expliquer ...

signaler à un administrateur
Commentaire de wizard512 le 25/09/2005 10:51:40

1) je ne connaisser meme pas l'existance de ce site
2) J'ai recopier ce script caractère par caractère sur un livre et non par un copier-coller.

signaler à un administrateur
Commentaire de Shisui le 25/09/2005 11:22:23

Meme remarque que sur ton autre source, tu aurait pu le dire que ca n'était pas de toi, ca fait du bien aux auteurs du script et ca prouve que tu respecte leur travail au moins :p

signaler à un administrateur
Commentaire de wizard512 le 26/09/2005 19:11:10

oulala elle fait le gueule le sourie (c'est possible de lui redonner sourire?)

^^

signaler à un administrateur
Commentaire de quebectech le 06/12/2005 13:59:25

C'est tu possible davoir le meme script mais cette fois ci pas délémité a 5, ce que je veux dire, tout dépendant de la requete, il peut y avoir 5, 6, 7 ou meme 20 colone créé dynamiquement. sans avoir a délémité dans le $GraphData et $GraphLabel

signaler à un administrateur
Commentaire de wizard512 le 07/12/2005 13:44:03

ben je pense.
Je vais te bricoler sa [enfain essayer] et je te préviendrai.
ok?

signaler à un administrateur
Commentaire de quebectech le 07/12/2005 14:50:17

Bonjour, si tu reussirait ca, je serait bien heureurs, ca fait plus d'un mois je j'essais de bisouner ce script mais sans resultat positif.

signaler à un administrateur
Commentaire de calogerogigante le 21/12/2005 19:15:45

Y'a des jours où je me demande comment vous faîtes pour vous comprendre, tellement votre français est déplorable !

signaler à un administrateur
Commentaire de waarx le 01/09/2006 10:39:28

C'est vrai que quebectech ne sait pas vraiment écrire ... Faut vraiment que vous passiez tous vos commentaires au correcteur orthographique, en plus la google barre le fait maintenant ! Pitié !

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

graphique, histogramme, diagramme... [ par jbardet ] Bonjour,Je souhaite créer des digramme de stat en php (+ exactement avec smarty) mais deja si j'y arrive en php ça le ferait!Mon problème:J'ai trouvé générer des miniatures avec gd 1.6 [ par vegetaline ] muhaha alors là c'est rigolo, un super défi pour les programmeurs fous!ok j'ai le code pour générer des miniatures grâce au php, mais ça marche qu'ave texte sur image... librairie GD ? [ par ozitoun ] Bonjour bonjour,voili voilou, je cherche à mettre une texte sur une image (jpeg).j'ai essayé les imagestring, imagechar... mais à chaque fois les exem Problème d'affichage avec la libraire GD [ par CMOIPOPO ] Salut &#224; tous,Je souhaite dessiner tout b&#234;tement un rectangle en php (je travaille en local)&nbsp;&#224; l'aide de la libraire GD. Pour cela, Couper le bas d'une image (GD PHP) [ par dezeque ] bonjour,j'aimerai savoir comment faire pour couper le bas d'une image ?elle fais 600X800 et j'aimerai enlver les 50 dernirers pixels du bas pour quell Librairie GD, Besoin d'aide !!! [ par Astalavista ] &nbsp;&nbsp;&nbsp; Bon, je post ca, car je n'arrive pas a trouver ... :( Je cherche un moyen de fair un Stretch sur une image, C'est a dir de deformer [BLOB->GD] Redimensionner un "flux image binaire"... [ par arnal69130 ] Bonjour &#224; tous,Je cherche &#224; faire une page pour afficher la carte d'identit&#233; d'un "agent", pour simplifier disons juste son nom et sa p Librairie GD [ par Stephan45120 ] J'orai besoin de superposer 2 images. La première en arrière plan et l'autre en calque par dessus(transparente à certain endroit). Ce que je veux arri A propos des images GD [ par ckhalilo ] j'ai un problème d'integration des image dans un formulaire, pour eviter l'envoie automatique dans mon formulaire bref mon problème est le suivant qu Librairie GD et perspective [ par MatiZ ] 'lutJe m'interesse un peu beaucoup à la librairie GD en ce moment et j'aurais voulu créer une perspective d'une image, mais je n'ai rien trouver. Donc


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.