<?php // Numerodataa kuvaajalle: $data = array(10, 53, 50, 42, 40, 42, 53, 54, 55, 70, 5, 1, 7, 100, 90, 52, 49, 48, 47, 106, 108, 99, 18, 20, 42, 54, 10, 12, 1, 0, 0, 0, 90, 121, 31, 11, 12); // Haetaan min ja max arvot, jotta kuvaaja skaalautuu vain sille alueelle jonka näemme: $min = min($data); $max = max($data); $maara = count($data); $vali = $max-$min; // kuinka suuri on suurin mahdollinen korkeusero // Kertoimet x ja y akseleille $kx = 20; // Kuinka pitkät välit jokaisella viivalla on x akselilla $ky = 2; // kuinka korkea kuvaajasta tulee // $maara-1 koska numeroita käytiin läpi $maara-1 verran: $leveys = ($maara-1)*$kx+1; $korkeus = $vali*$ky+1; // Luodaan kuva: $im = imagecreate($leveys, $korkeus); $val = imagecolorallocate($im, 0, 255, 255); $mus = imagecolorallocate($im, 0, 0, 0); $x = 0; // Käydään kaikki numerot läpi, paitsi viimeistä, // koska muutoin viimeinen viiva ei saisi päätepistettä lainkaan: for($u = 0; $u < $maara-1; $u++){ // y1 ja y2 kerrotaan $ky:llä, jotta viiva alkaa oikeasta kohdasta: $y1 = $data[$u]*$ky; $y2 = $data[$u+1]*$ky; // Piirretään aloituskohta oikeaan paikkaan // x-akselilla, mutta päätöskohtaan lisätään $kx: imageline($im, $x, $y1, $x+$kx, $y2, $mus); // Siirrytään x-akselilla eteenpäin kertoimen verran: $x += $kx; } // Yksinkertainen graafinen kuvaaja by T.M. - www.HC-Codes.net header("Content-type: image/png"); imagepng($im); imagedestroy($im); ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.