0

以下は私のjpグラフコードです

            include_once ("jpgraph/jpgraph.php");
            include_once ("jpgraph/jpgraph_scatter.php");

            // Some data for the points
            $datax = array(3.5,13.7,3,4,6.2,6,3.5,8,14,8,11.1,13.7);
            $datay = array(10,22,12,13,17,20,16,19,30,31,40,43);

            // A new scatter graph
            $graph = new Graph(300,200,'auto');
            $graph->SetShadow();
            $graph->SetScale("linlin");

            //$graph->img->SetMargin(40,40,40,40);        

            $graph->title->Set("Scatter plot with Image Map");
            $graph->title->SetFont(FF_FONT1,FS_BOLD);

            // Client side image map targets
            $targ=array("pie_csimex1.php#1","pie_csimex1.php#2","pie_csimex1.php#3",
            "pie_csimex1.php#4","pie_csimex1.php#5","pie_csimex1.php#6",
            "pie_csimex1.php#7","pie_csimex1.php#8","pie_csimex1.php#9" );

            // Strings to put as "alts" (and "title" value)
            $alts=array("val=%d","val=%d","val=%d","val=%d","val=%d","val=%d","val=%d","val=%d","val=%d");

            // Create a new scatter plot
            $sp1 = new ScatterPlot($datay,$datax);

            // Use diamonds as markerss
            $sp1->mark->SetType(MARK_DIAMOND);
            $sp1->mark->SetWidth(10);

            // Set the scatter plot image map targets
            $sp1->SetCSIMTargets($targ,$alts);

            // Add the plot
            $graph->Add($sp1);

            // Send back the HTML page which will call this script again
            // to retrieve the image.
            $graph->StrokeCSIM();

上記のコードは、散在グラフを表示することで正常に動作します...しかし、同じページにいくつかのphpコードを埋め込みたいのですが、そうすると機能しません....専門家のアドバイスに従って、置き換えました $graph->StrokeCSIM();

with `$fileName = "./lang/12345.png"; $graph->img->Stream($fileName);

            echo('<img src="./lang/12345.png" />');`

12345.pngでファイルを作成し、グラフを表示しません...どうすればこれを修正できますか?

コードで質問を更新しました....

            $_GET['Variance']=$Variance;
            $_GET['Emp_RecFactor']=$Emp_RecFactor;


            // Some data for the points
            $datax =$Emp_RecFactor;
            $datay =$Variance;



            // A new scatter graph
            $graph = new Graph(600,600);
            $graph->SetScale('intlin',-10,10,0,100);
            $graph->yscale->ticks->Set(1);
            $graph->xscale->ticks->Set(5);

            //$graph->img->SetMargin(40,40,40,40);        

             $graph->xaxis->title->Set("Reco-Factor");
            $graph->yaxis->title->Set("Variance");
            $graph->title->Set("Equity Graph Of All Employees");
            $graph->title->SetFont(FF_FONT1,FS_BOLD);

            // Client side image map targets
            $targ=array("pie_csimex1.php#1","pie_csimex1.php#2","pie_csimex1.php#3",
            "pie_csimex1.php#4","pie_csimex1.php#5","pie_csimex1.php#6",
            "pie_csimex1.php#7","pie_csimex1.php#8","pie_csimex1.php#9" );

            // Strings to put as "alts" (and "title" value)
            $alts=array("val=%d","val=%d","val=%d","val=%d","val=%d","val=%d","val=%d","val=%d","val=%d");

            // Create a new scatter plot
            $sp1 = new ScatterPlot($datay,$datax);

            // Use diamonds as markerss
            $sp1->mark->SetType(MARK_DIAMOND);
            $sp1->mark->SetWidth(10);

            // Set the scatter plot image map targets
            $sp1->SetCSIMTargets($targ,$alts);

            // Add the plot
            $graph->Add($sp1);

            // Send back the HTML page which will call this script again
            // to retrieve the image.



            $graph->Strokecsim();

test2.php には...

            echo "<p>hello</p>";
            include "Talent_Graphcopy.php"; // containing the graph code
            echo "<p>goodbye</p>";
4

1 に答える 1

0

$graph->StrokeCSIM() は、イメージ マップの形式でグラフを生成します。このコード (グラフ スクリプトと呼びましょう) を含む PHP は、サポートする HTML とグラフ イメージ自体の両方を生成できます。

グラフ スクリプトがパラメーターなしで呼び出されると (例: http://contoso.com/graph.php )、HTML が生成されます。生成された HTML には、マジック パラメータ (例: ) を使用してスクリプト自体を指す IMG タグが含まれています<img src="graph.php?_jpg_csimd=1"。スクリプトがマジック パラメータで呼び出されると、画像が生成されます。

画像生成機能が正しく動作しなくなるため、HTML 出力を生成する PHP コードをグラフ スクリプトに挿入することはできません。カスタム HTML とグラフ出力を組み合わせたい場合は、グラフ スクリプトを別の PHP スクリプトに含めることができます。

例: Display.php

echo "<p>hello</p>";
include "Talent_Graphcopy.php"; // containing the graph code
echo "<p>goodbye</p>";

Talent_Graphcopy.php

// fancy graph code...
$graph->StrokeCSIM("Talent_Graphcopy.php"); 

StrokeCSIM の引数として、グラフ スクリプトの名前を指定します。これは、グラフを生成するためのグラフ スクリプト自体を指すように IMG SRC を設定するようにスクリプトに指示します。これを指定しないと、IMG SRC は Display.php を指します... これは間違っています。ブラウザーは Display.php に画像を要求しますが、これは明らかに提供できないからです。

于 2012-09-17T09:08:48.680 に答える