snoot: JGraph: Eigene x-Achse > Diagramm wird nicht mehr angezeigt

Hio,

ich möchte mit JGraph Diagramme erstellen und eine eigene x-Achse definieren, aber das funktioniert nicht.

Laut Manual geht es prinzipiell so:

  $a = $gDateLocale->GetShortMonth();  
  $graph->xaxis->SetTickLabels($a);

Allerdings wird dann keine Grafik mehr angezeigt (nur noch ein rotes X im Browser).

Auch wenn ich eine eigene Beschriftung wähle geht es nicht:

  $xachse = array(2, 4, 6, 8, 10, 12);  
  $graph->xaxis->SetTickLabels($xachse);

Insgesamt sähe das Script bspw. so aus:

<?php  
  
	// JGraph-Library einbinden  
	include("jpgraph.php");  
	include("jpgraph_line.php"); // Liniendiagramm  
//	include("jpgraph_bar.php"); // Balkendiagramm  
//	include("jpgraph_pie.php"); // 2D-Tortendiagramm  
//	include("jpgraph_pie3d.php");  // 3D-Tortendiagramm  
  
	// Neuen Graph erzeugen  
	$graph = new Graph(500,300,"auto");  
  
	// Werte  
	$yachse = array(5, 3, 11, 13, 9, 7);  
	$xachse = array(2, 4, 6, 8, 10, 12);  
  
	//$graph->xaxis->SetTickLabels($xachse);  
  
	//$a = $gDateLocale->GetShortMonth();  
	//$graph->xaxis->SetTickLabels($a);  
	//$graph->xaxis->SetFont(FF_FONT2);  
  
	// Werte in Graph umwandeln  
	$lineplot = new LinePlot($yachse);  
  
	// generierten Graph einfügen  
	$graph->Add($lineplot);  
  
  // Skalierung  
  // x: lin(ear), text, log, int(eger)  
  // y: lin(ear), log, int(eger)  
	$graph->SetScale("linlin");  
  
	// Graph ausgeben  
	$graph->Stroke();  
  
?>

Das funktioniert wunderbar, solange ich keine eigene x-Achse definiere. Die JGraph-Version ist 1.2.7 (aktuelle Version).

Any idea?

  1. Wie ich gerade sehe, kann ich auch keine Achsentitel definieren:

      $graph->xaxis->title->Set("x-Achse");  
      $graph->yaxis->title->Set("y-Achse");  
    
    

    Selbes Problem ...

  2. Hi,

    Laut Manual geht es prinzipiell so:

    $a = $gDateLocale->GetShortMonth();

    $graph->xaxis->SetTickLabels($a);

    
    >   
    > Allerdings wird dann keine Grafik mehr angezeigt (nur noch ein rotes X im Browser).  
      
    Schau dir den gelieferten "Quelltext" an, ggf. einen header-Aufruf, der den Content-Type auf image/irgendwas setzt, auskommentieren - und schau nach, ob darin PHP-Fehlermeldungen auftauchen.  
      
    MfG ChrisB  
      
    
    -- 
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    
    1. Schau dir den gelieferten "Quelltext" an, ggf. einen header-Aufruf, der den Content-Type auf image/irgendwas setzt, auskommentieren - und schau nach, ob darin PHP-Fehlermeldungen auftauchen.

      Aja, gute Idee. Da liefert mir die Zeile mit $graph->xaxis->SetTickLabels($a); den Fehler:

      Call to a member function SetTickLabels() on a non-object

      Google hat mich dann auf die Idee gebracht, die Codezeile mal an einer späteren Stelle einzufügen. Konret: ganz am Ende, bevor der Graph ausgegeben wird. Jetzt klappts :)

      Vielen Dank.