hallo.
ich will ein linien diagramm erstellen. ich habe die werte für das liniendiagramm im array $data. wenn ich das bild aber anzeige kommt es am schluss immer hinaus oder in die obere ecke. im anahng ist die grafik zum ansehen.
mfg Roland
das php script:
ich will ein linien diagramm erstellen. ich habe die werte für das liniendiagramm im array $data. wenn ich das bild aber anzeige kommt es am schluss immer hinaus oder in die obere ecke. im anahng ist die grafik zum ansehen.
mfg Roland
das php script:
PHP-Code:
<?php
error_reporting(0);
// Diagramm Werte
$daten=array(0,2,10,20,30,40,50,60,70,80,90,91,110,115,130,140,150,160,170,180,190,200,201,201,201,205,220,230,245,50,50);
// PNG-Grafik definieren
header("Content-type: image/png");
// Breite/Höhe des Diagramm
$imgBreite=500;
$imgHoehe=250;
// Image-Objekt erzeugen und Farben definieren
$bild=imagecreate($imgBreite, $imgHoehe);
$farbeWeiss=imagecolorallocate($bild, 255, 255, 255);
$farbeGrau=imagecolorallocate($bild, 192, 192, 192);
$farbeBlau=imagecolorallocate($bild, 0, 150, 255);
$farbeHellblau=imagecolorallocate($bild, 0, 200, 255);
// Rand für die Grafik erzeugen
imageline($bild, 0, 0, 0, 250, $farbeGrau);
imageline($bild, 0, 0, 500, 0, $farbeGrau);
imageline($bild, 499, 0, 499, 249, $farbeGrau);
imageline($bild, 0, 249, 499, 249, $farbeGrau);
// Raster erzeugen y
for ($i=1; $i<31; $i++){
imageline($bild, $i*14.5, 0, $i*14.5, 185, $farbeGrau);
}
// Raster erzeugen x
for ($i=1; $i<5; $i++){
imageline($bild, 0, $i*46.25, 435, $i*46.25, $farbeGrau);
}
// Liniendiagramm erzeugen
for ($i=0; $i<count($daten); $i++){
$x1 = $i*14.5;
if($daten[$i] == 0)
{
$y1 = 185;
} else
{
$y1 = 185-(185/100*(100/(250/$daten[$i])));
}
$x2 = ($i+1)*14.5;
if($daten[$i+1] == 0)
{
$y2 = 0;
} else
{
$y2 = 185-(185/100*(100/(250/$daten[$i+1])));
}
imageline($bild, $x1, $y1, $x2, $y2, $farbeBlau);
}
// Diagramm ausgeben und Grafik
// aus dem Speicher entfernen
imagepng($bild);
imagedestroy($bild);
?>
Kommentar