Frage zu JPgraph

Buba235

Erfahrenes Mitglied
Hallo Leute!

Ich habe eine Frage an euch - vielleicht könnt ihr mir weiterhelfen. Ich habe folgenden Code über BarPlots und GroupBarPlots:

PHP:
array_multisort(
        $land,SORT_ASC,SORT_STRING,
        $data[5],SORT_DESC,SORT_NUMERIC,
        $data[6],SORT_DESC,SORT_NUMERIC,
        $data[0],SORT_DESC,SORT_NUMERIC,
        $data[1],SORT_DESC,SORT_NUMERIC,
        $data[4],SORT_DESC,SORT_NUMERIC,
        $titlexaxis,SORT_DESC,SORT_NUMERIC,
        $clicf,SORT_DESC,SORT_NUMERIC,
        $clina,SORT_DESC,SORT_NUMERIC,
        $cline,SORT_DESC,SORT_NUMERIC,
        $clitotal,SORT_DESC,SORT_NUMERIC,
        $nb,SORT_ASC,SORT_STRING,
        $hprp,SORT_ASC,SORT_STRING,
        $mnc,SORT_ASC,SORT_STRING,
        $mcc,SORT_ASC,SORT_STRING,
        $alliance,SORT_ASC,SORT_STRING,
        $ic,SORT_ASC,SORT_STRING
    );

    // Grundsaezliche Werte des Graphen festlegen (Groesse, Achsen, usw.)
    $graph = new Graph(540,820,"auto");
    $graph->SetScale("textlin");
    $graph->yaxis->scale->SetGrace(5);
    $graph->Set90AndMargin(180,10,25,15);
    $graph->img->SetAntiAliasing();
    $graph->yaxis->SetFont(FF_ARIAL,FS_NORMAL,6);
    $graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,7);
    $graph->xaxis->SetTickLabels($titlexaxis);
    $graph->yaxis->SetLabelAngle(45);
    $graph->SetFrame(false);


    // Beschriftungstext in rechter oberen Ecke
    $text = new Text("CLI Report " . $NC . " " . $Zeitraum);
    $text->SetFont(FF_ARIAL,FS_NORMAL,10);
    $text->Pos(0.03,0.005);


    // 1. Balkendiagramm generieren
    $bar1 = new BarPlot($data[6]);
    $bar1->SetFillColor("red@0.4");
    $bar1->value->Show();
    $bar1->value->SetColor("black");
    $bar1->value->SetFormat(" %1.0f",70);
    $bar1->value->SetFont(FF_ARIAL,FS_NORMAL,6);


    // 2. Balkendiagramm generieren
    $bar2 = new BarPlot($data[1]);
    $bar2->SetFillColor("green@0.5");
    $bar2->value->Show();
    $bar2->value->SetColor("black");
    $bar2->value->SetFormat(" %1.0f",70);
    $bar2->value->SetFont(FF_ARIAL,FS_NORMAL,6);


    // 3. Balkendiagramm generieren
    $bar3 = new BarPlot($data[4]);
    $bar3->SetColor("black@0.8");
    $bar3->SetFillColor("black@0.8");
    $bar3->value->Show();
    $bar3->value->SetColor("black");
    $bar3->value->SetFormat(" %1.0f",70);
    $bar3->value->SetFont(FF_ARIAL,FS_NORMAL,8);
    $bar3->SetWidth(0.7);


    // Erzeugen eines GroupBarPlots (bar1 und bar2 nebeneinander)
    $grpbar = new GroupBarPlot(array($bar1, $bar2));


    // GroupBarPlot wird dem Grafen hinzugefuegt
    $graph->Add($grpbar);
    $graph->Add($bar3);
    $graph->AddText($text);


    // Graph wird gezeichnet
    $graph->Stroke();

Soweit so gut, aber wenn ich das jetzt ausführe, dann kommt folgende Fehlermeldung:

One of the objects submitted to GroupBar is not a BarPlot. Make sure that you create the Group Bar plot from an array of BarPlot or AccBarPlot objects.

Das Problem an der Sache ist, dass dieser Code schon einmal funktionierte. Soweit ich weiß war das noch unter php4 jetzt läuft hier php5. Ich soll diesen Code warten, aber ich finde absolut keinen Fehler. Vielleicht bin ich einfach schon viel zu blind und seh den Wald vor lauter Bäumen nicht mehr. Wäre echt super wenn ihr mir helfen könntet.


Gruß
Buba
 
Hallo nochmal!


Also wenn ich diese Zeilen auskommentiere:

PHP:
$grpbar = new GroupBarPlot(array($bar1, $bar2));

und

PHP:
$graph->Add($grpbar);

läuft das Skript ohne Fehler durch, aber es fehlen (natürlich) Teile in der erstellten Grafik. Ich kann mir nicht erklären warum das mit dem GroupBarPlot nicht klappt.
 
Hallo!

Okay ich hab das Problem erkannt. Auf meinem Rechner läuft die php - Version 5.0.x und JpGraph kommt nur mit Version 4.x ODER Version 5.1.x zurecht. Ein einfaches Upgrade der php - Version auf 5.1.x sollte genügen.
Übrigens handelt es sich nur um den GroupBarPlot. Wenn die oben genannten Zeilen auskommentiert werden geht es ja.


So far
Buba
 
Zurück