"#CLE" => #VALEUR ); if(count($data) == 0) { echo "\n"; echo " [(#ENV{titre}) - ]Aucune donnée.\n"; echo "\n"; } else { $amin = $amax = $vmin = $vmax = $count =0; // Mise à jour des min/max foreach($data as $key => $value) { // Extraction de l'année preg_match('/x(\d{4})/',$key,$matches); $annee = $matches[1]; $count += $value; if($i==0) { $amin = $annee; $amax = $annee; $vmin = $value; $vmax=$value; $i=1; } else { $amin = ($annee < $amin)?$annee:$amin; $amax = ($annee > $amax)?$annee:$amax; $vmin = ($value < $vmin)?$value:$vmin; $vmax = ($value > $vmax)?$value:$vmax; } } if($amin != $amax) { // Dimensionnement des axes $da = $amax - $amin +1; $dv = $vmax - $vmin; if($dv > 0) { $vb = floor(log10($dv)); $ygrad = pow(10,$vb); } else { $ygrad = 1; $dv=1; } $yvmin = floor($vmin /$ygrad) * $ygrad; $cy = 0; if(($yvmin == $vmin) && ($vmin !=0)) { $yvmin = $yvmin - $ygrad; $cy = 1; } $dyv = ceil($dv /$ygrad)+1+$cy; $yvmax = $yvmin + $dyv*$ygrad; $dx = $da*10; $x2=$dx+5; $height = $dyv*10; $xview = $dx + 20; $xview = ($xview < 140)?140:$xview; $yview = $height + 20; echo "\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; // Tracé des données foreach($data as $key => $value) { preg_match('/x(\d{4})/',$key,$matches); $annee = $matches[1]; $px = ($annee - $amin)* 10; $h = 10*($value - $yvmin)/$ygrad; echo " \n"; } // Affichage des graduations en ordonnées for($i=0; $i <$dyv ;$i++) { $py = $i*30; $yval = $yvmin+ $i*$ygrad; $gy = $i*10; echo " \n"; echo " $yval\n"; } // Affichage des années en abscisse for($j=0; $j<$da; $j++) { $tx = $j*40 + 4; $annee = $amin + $j; echo "". $annee ."\n"; } echo " \n"; $yt = ($height + 12)*4; echo " [(#ENV{titre}) - ]Total $count\n"; echo "\n"; } else { echo "\n"; echo " [(#ENV{titre}) - ]Total en $amin: $count\n"; echo "\n"; } } ?>