JGraph: Eigene x-Achse > Diagramm wird nicht mehr angezeigt
snoot
- php
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?
Wie ich gerade sehe, kann ich auch keine Achsentitel definieren:
$graph->xaxis->title->Set("x-Achse");
$graph->yaxis->title->Set("y-Achse");
Selbes Problem ...
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.
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.