\n"; #$keys = array_keys($results); ############################################################################### ## graph ### ############################################################################### #Erzeugen irgendwelcher X und Y-Werte for ($i=0, $XWerte="", $YWerte=""; $i<1440; $i=$i+1) { $XWerte[] = ($i); $YWerte[] = ($i+$i*5); } # ?bergebene X und Y-Werte wieder in array packen #$XWertestring=$_REQUEST["XWertestring1"]; #$XWerte = explode ("n", $XWertestring); #$YWertestring=$_REQUEST["YWertestring1"]; #$YWerte = explode ("n", $YWertestring); //Allgemeine Diagrammdaten $Diagrammbreite = 1000; #500 $Diagrammhoehe = 500; #400 $Diagrammtitel = "Statistik"; //R?nder & Abst?nde $AbstandAussen = 3; $RandOben = 30; $RandLinks = 30; $RandUnten = 80; $RandRechts = 20; //Diagrammfarben $HintergrundfarbeR = 255; #255 $HintergrundfarbeG = 255; #255 $HintergrundfarbeB = 255; #255 $HintergrundfarbeAuswertungsbereichR = 255; #224 $HintergrundfarbeAuswertungsbereichG = 255; #224 $HintergrundfarbeAuswertungsbereichB = 255; #224 $TextfarbeR = 64; #64 $TextfarbeG = 64; #64 $TextfarbeB = 64; #64 $AchsenfarbeR = 0; #0 $AchsenfarbeG = 0; #0 $AchsenfarbeB = 0; #0 $BalkenfarbeR = 32; #32 $BalkenfarbeG = 128; #128 $BalkenfarbeB = 196; #196 //Festlegung der Minima und Maxima der X- und Y-Werte $XMin = 0; $XMax = count($XWerte); ## Wenn man hier ?ndert verf?lscht man die Y-werte !!!!!!!! eigentlich bei minutenwerten 1440 $Tmp = $YWerte; sort($Tmp); $YMin = $Tmp[0]; rsort($Tmp); $YMax = $Tmp[0]; $YMin = 0; #$YMax = 5000; //Festlegung des Inhalttyps f?r den Webbrowser #header("Content-type: image/png"); $Grafik = imagecreatetruecolor($Diagrammbreite, $Diagrammhoehe); //Festlegung der verwendeten Farben $Textfarbe = imagecolorallocate($Grafik, $TextfarbeR, $TextfarbeG, $TextfarbeB); $Hintergrundfarbe = imagecolorallocate($Grafik, $HintergrundfarbeR, $HintergrundfarbeG, $HintergrundfarbeB); $HintergrundfarbeAuswertungsbereich = imagecolorallocate($Grafik, $HintergrundfarbeAuswertungsbereichR, $HintergrundfarbeAuswertungsbereichG, $HintergrundfarbeAuswertungsbereichB); $Achsenfarbe = imagecolorallocate($Grafik, $AchsenfarbeR, $AchsenfarbeG, $AchsenfarbeB); $Balkenfarbe = imagecolorallocate($Grafik, $BalkenfarbeR, $BalkenfarbeG, $BalkenfarbeB); //Allgemeinen Hintergrund und Auswertungsbereich einf?rben imagefill($Grafik, 0, 0, $Hintergrundfarbe); imagefilledrectangle($Grafik, $AbstandAussen+$RandLinks, $AbstandAussen+$RandOben, $Diagrammbreite-1-$AbstandAussen-$RandRechts, $Diagrammhoehe-1-$AbstandAussen-$RandUnten, $HintergrundfarbeAuswertungsbereich); //Allgemeine Berechnungen zur X- und Y-Achse $YMaxAbstand = 10; $YAbstand = ($Diagrammhoehe-2*$AbstandAussen-$RandOben-$RandUnten-10)/$YMaxAbstand; $YWertHoehe = ($Diagrammhoehe-2*$AbstandAussen-$RandOben-$RandUnten-10)/$YMax; $XAbstand = ($Diagrammbreite-2*$AbstandAussen-$RandRechts-$RandLinks-10)/ 287 ; #$Balkendicke = ($XAbstand-4)/2; $Balkendicke = 0.1; //Hilfslinien einzeichnen imagesetstyle($Grafik, array($Achsenfarbe, $Achsenfarbe, IMG_COLOR_TRANSPARENT, IMG_COLOR_TRANSPARENT)); for($i=0; $i<$YMaxAbstand; $i++) { imageline($Grafik, $AbstandAussen+$RandLinks, $AbstandAussen+$RandOben+10+($YAbstand*$i), $Diagrammbreite-$AbstandAussen-$RandRechts-1, $AbstandAussen+$RandOben+10+($YAbstand*$i), IMG_COLOR_STYLED); } //X-Achse einzeichnen imageline($Grafik, $AbstandAussen+$RandLinks, $Diagrammhoehe-$AbstandAussen-$RandUnten, $Diagrammbreite-$AbstandAussen-$RandRechts, $Diagrammhoehe-$AbstandAussen-$RandUnten, $Achsenfarbe); imageline($Grafik, $AbstandAussen+$RandLinks, $Diagrammhoehe-$AbstandAussen-$RandUnten-1, $Diagrammbreite-$AbstandAussen-$RandRechts, $Diagrammhoehe-$AbstandAussen-$RandUnten-1, $Achsenfarbe); # Beschriftung der X-Achse for($i=0; $i<25; $i=$i+1) # jede Stunde anzeigen { imageline($Grafik, $AbstandAussen+$RandLinks+($XAbstand*$i*12)+($XAbstand/2+3), $Diagrammhoehe-$AbstandAussen-$RandUnten-2,$AbstandAussen+$RandLinks+($XAbstand*$i*12)+($XAbstand/2+3), $Diagrammhoehe-$AbstandAussen-$RandUnten+2, $Achsenfarbe); imagestringup($Grafik, 3, $AbstandAussen+$RandLinks+($XAbstand*$i*12)+($XAbstand/2), $Diagrammhoehe-$AbstandAussen-$RandUnten+45, $i, $Achsenfarbe); imagestringup($Grafik, 3, $AbstandAussen+$RandLinks+($XAbstand*$i*12)+($XAbstand/2), $Diagrammhoehe-$AbstandAussen-$RandUnten+25, 'UHR', $Achsenfarbe); } //Y-Achse einzeichnen imageline($Grafik, $AbstandAussen+$RandLinks, $AbstandAussen+$RandOben, $AbstandAussen+$RandLinks, $Diagrammhoehe-$AbstandAussen-$RandUnten, $Achsenfarbe); imageline($Grafik, $AbstandAussen+$RandLinks+1, $AbstandAussen+$RandOben, $AbstandAussen+$RandLinks+1, $Diagrammhoehe-$AbstandAussen-$RandUnten, $Achsenfarbe); for($i=0; $i<=$YMaxAbstand; $i=$i+2) { imageline($Grafik, $AbstandAussen+$RandLinks-2, $AbstandAussen+$RandOben+10+($YAbstand*$i), $AbstandAussen+$RandLinks+2, $AbstandAussen+$RandOben+10+($YAbstand*$i), $Achsenfarbe); imagestring($Grafik, 3, $AbstandAussen+$RandLinks-10-(imagefontwidth(1)*strlen(round($YMax-(($YMax/10)*$i), 0))), $AbstandAussen+$RandOben+4-(imagefontheight(1)/2)+($YAbstand*$i), round($YMax-(($YMax/10)*$i), 0), $Achsenfarbe); } //Werte einzeichnen for($i=0; $i<$XMax; $i++) { imagerectangle($Grafik, $AbstandAussen+$RandLinks+($XAbstand*($i+1)/5)-($XAbstand/5*(2-3))-$Balkendicke, $Diagrammhoehe-$AbstandAussen-$RandUnten-($YWertHoehe*$YWerte[$i]), $AbstandAussen+$RandLinks+($XAbstand*($i+1)/5)-($XAbstand/5*(2-3))+$Balkendicke, $Diagrammhoehe-$AbstandAussen-$RandUnten, $Achsenfarbe); imagefilledrectangle($Grafik, $AbstandAussen+$RandLinks+($XAbstand*($i+1)/5)-($XAbstand/5*(2-3))-$Balkendicke+1, $Diagrammhoehe-$AbstandAussen-$RandUnten-($YWertHoehe*$YWerte[$i])+1, $AbstandAussen+$RandLinks+($XAbstand*($i+1)/5)-($XAbstand/5*(2-3))+$Balkendicke-1, $Diagrammhoehe-$AbstandAussen-$RandUnten-2, $Balkenfarbe); } //Diagrammtitel einzeichnen #imagestring($Grafik, 5, $AbstandAussen+$RandLinks+($Diagrammbreite-(2*$AbstandAussen+$RandLinks+$RandRechts)-imagefontwidth(5)*strlen($Diagrammtitel))/2, $AbstandAussen, $Diagrammtitel, $Textfarbe); // Ausgabe des Bildes und Freigabe des belegten Speichers imagepng($Grafik); imagedestroy($Grafik); #} #else {} ?>