Horizontale Linie wird nicht angezeigt (GD)

Hi!

Ich versuche momentan ein Diagramm zu zeichnen bei dem ein Fragebogen ausgewertet werden soll. Dabei wird verglichen was andere User maximal und minimal geantwortet haben. Leider habe ich bei meinem Diagramm 2 kleine Probleme.

1.: Die horizontalen gestrichelten Linien werden nicht angezeigt

2.: Die Kurven gehen am Ende bis 0 runter obwohl dieser Wert nicht im Array steht.

Hier mein Code:

[code]
$maximum = array(10,8,9,10,7,9, 6,8,10,6,8,6,10,9,7);
$userwerte = array( 5,6,8, 6,4,9, 5,8, 5,5,7,4, 4,7,6);
$minimum = array( 1,5,4, 4,4,6,4,2, 1,5,5,1, 2,5,3);

$imghoehe = 400;
$imgbreite = 800;

$diagrammhoehe = (10*30)+30;
$diagrammbreite = (15*30);

$img = imagecreate(($imgbreite-25),$imghoehe);

//Farben
$weiss = imagecolorallocate ($img,255,255,255);
$schwarz = imagecolorallocate ($img, 0,0,0);
$gruen = imagecolorallocate ($img,62,167,167);
$hellgrau = imagecolorallocate ($img,192,192,192);
$dunkelgrau = imagecolorallocate ($img,140,140,140);
$blau = imagecolorallocate ($img,0,150,255);
$hellblau = imagecolorallocate ($img,0,200,255);
$orange = imagecolorallocate ($img,255,126,0);
$rot = imagecolorallocate ($img,255,0,0);

imagefilledrectangle($img,0,0,$imgbreite,$imghoehe,$hellgrau);

imagefilledrectangle($img,0,0,$diagrammbreite,$diagrammhoehe,$gruen);

//Rahmen und Raster
$i=0;
while ($i

imagesetstyle / imageline

Hi!

$maximum = array(10,8,9,10,7,9, 6,8,10,6,8,6,10,9,7);
$userwerte = array( 5,6,8, 6,4,9, 5,8, 5,5,7,4, 4,7,6);
$minimum = array( 1,5,4, 4,4,6,4,2, 1,5,5,1, 2,5,3);

$imghoehe = 400;
$imgbreite = 800;

$diagrammhoehe = (10*30)+30;
$diagrammbreite = (15*30);

$img = imagecreate(($imgbreite-25),$imghoehe);

//Farben
$weiss = imagecolorallocate ($img,255,255,255);
$schwarz = imagecolorallocate ($img, 0,0,0);
$gruen = imagecolorallocate ($img,62,167,167);
$hellgrau = imagecolorallocate ($img,192,192,192);
$dunkelgrau = imagecolorallocate ($img,140,140,140);
$blau = imagecolorallocate ($img,0,150,255);
$hellblau = imagecolorallocate ($img,0,200,255);
$orange = imagecolorallocate ($img,255,126,0);
$rot = imagecolorallocate ($img,255,0,0);

imagefilledrectangle($img,0,0,$imgbreite,$imghoehe,$hellgrau);

imagefilledrectangle($img,0,0,$diagrammbreite,$diagrammhoehe,$gruen);

//Rahmen und Raster

imagefilledrectangle($img,0,0,$diagrammbreite,$diagrammhoehe,$gruen);
$dashed = array($hellgrau, $hellgrau, $hellgrau, $hellgrau, $hellgrau, $gruen, $gruen, $gruen, $gruen, $gruen);
imagesetstyle($img, $dashed);
//Rahmen und Raster
for($i=0; $i


> imagesetthickness ($img,3);  
> //Zeichnen der Kurven



    
    for ($i=0; ($i+1)
    
    
    > imagepng($img, "diagramm.png");  
    > imagedestroy($img);[/code]  
    >   
    > Ich hoffe ihr könnt mir helfen.  
    > Hab' schon so ziemlich alles ausprobiert und keine Lösung  
    > gefunden.
    
    
    Die Funktion imagedashedline hat nicht funktioniert, aber imagesetstyle/imageline schon. Beim Durchlauf war ein kleiner Fehler, wenn Du innerhalb der Schleife auf Werte des Arrays mit Index $i+1 zugreifst muss $i kleiner als count-1 bleiben, sonst gibt es diesen Wert nicht mehr.
    
    
    > MfG Chaos
    
    Gruß,
    Rudy

@Chaos betr. Thread darüber
Du kannst den Thread selbst löschen solange kein anderer darauf antwortet - das kannst Du IMMER mit Deinen eigenen Beiträgen machen
!solange kein anderer darauf antwortet!
Deswegen antworte ich auch hier damit Du den anderen Thread löschen kannst…

VIELEN DANK FÜR DIE ANTWORT!
Hat alles super funktioniert!

Danke, danke danke! :smiley: