[GD] liniendiagramm

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [GD] liniendiagramm

    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:

    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($bild255255255);
    $farbeGrau=imagecolorallocate($bild192192192);
    $farbeBlau=imagecolorallocate($bild0150255);
    $farbeHellblau=imagecolorallocate($bild0200255);

    // Rand für die Grafik erzeugen
    imageline($bild000250$farbeGrau);
    imageline($bild005000$farbeGrau);
    imageline($bild4990499249$farbeGrau);
    imageline($bild0249499249$farbeGrau);

    // Raster erzeugen  y
    for ($i=1$i<31$i++){
        
    imageline($bild$i*14.50$i*14.5185$farbeGrau);
    }

    // Raster erzeugen  x
    for ($i=1$i<5$i++){
        
    imageline($bild0$i*46.25435$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);
    ?>
    Angehängte Dateien
    Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg

  • #2
    Das ist Dein Problem im letzten Element.
    Es gibt kein $daten[$i+1] mehr.
    if($daten[$i+1] == 0)
    {
    $y2 = 0;
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar

    Lädt...
    X