<?php
require ('fonctions/histogramme.php');
$data = array(50, 20, 70, 100,130,60,40,80,90);
shuffle($data);
require ('fonctions/trait_img.php');
trait_cam($data);
?>
<html>
<header>
</header>
<body>
<img src="<?php hist_hori($data); ?>">
</body>
</html>
la deuxieme partie qui sera le traitement d'un camembert( non utilisé pour le momenttt mais les erreurs sont en fonction de ça):
<?php
function trait_cam($data){
//nbs d'element dans le tableau
$nbs_tab= count($data);
echo "l'ensemble des valeurs du tableau est de : ".$nbs_tab."<br>";
// total ajouté
$nbs_max= array_sum($data);
echo "le total des valeurs du tableau est de ".$nbs_max."<br>";
//calcul du % de chaque élèment (calcul en °)
//print_r($data);
for ($i=0; $i<=9; $i++){
$pcent[$i]= round(($data[$i]*100)/$nbs_max);
}
//print_r($pcent);
//calcul de la valeur en degré
for ($a=0;$a<=9;$a++){
$degré[$a]= round(($pcent[$a]*360)/100);
//print_r($degré[$a]);
}
}
?>
et la fonction de creation graphique
function hist_hori($data){
$hauteur="500";
$largeur="500";
$im=ImageCreate($largeur,$hauteur);
$blanc=ImageColorAllocate($im,255,255,255);
$noir=ImageColorAllocate($im,0,0,0);
$rouge=ImageColorAllocate($im,255,0,0);
$bleu=ImageColorAllocate($im,0,0,255);
//ligne horizontal
Imageline($im,50,$hauteur-20,$largeur,$hauteur-20,$noir);
//fin ligne horizontal
$maxdata=150;
for ($jour=1; $jour<=9; $jour++) {
$largeurImageRectangle = round(($data[$jour-1]*$largeur)/$maxdata);
if($data[$jour-1]>=80){ //condition pour aff couleur
ImageFilledRectangle ($im,50,$jour*50, $largeur-$largeurImageRectangle,$jour*50+14 , $rouge);
ImageString ($im, 4, $largeur-$largeurImageRectangle+10, $jour*50, 150-$data[$jour-1], $noir);
}
else{
ImageFilledRectangle ($im, 50, $jour*50, $largeur-$largeurImageRectangle, $jour*50+14, $bleu);
ImageString ($im, 4, $largeur-$largeurImageRectangle+10, $jour*50, 150-$data[$jour-1], $noir);
}
}
//aff jours
for($jour=1; $jour<=9; $jour++){
ImageString($im,4,40,$jour*50,$jour,$noir);}
//fin aff jours
//ligne vert
Imageline($im,50,10,50,$hauteur-20,$noir);
$tmp="";
$tmp.= header("content-type:image/png");
$tmp.= ImagePng($im);
return('im.png');
}
et pour finir l'erreur
Code : Tout sélectionner
l'ensemble des valeurs du tableau est de : 9
le total des valeurs du tableau est de 640
vªz