折れ線グラフを作成する

Example 1

この例では、3つのデータ系列を含む単純な折れ線グラフを作成する方法を示します。 呼ばれるグラフ機能は、拡張パラメタがなければdrawLineGraph()です。 プロットグラフは、drawPlotGraph()機能を使用することで重ねられます。
このスクリプトを実行するとカレントディレクトリにExample1.phpファイルを作成します。

データは、bulkdata.csvという名前をつけられるCSVファイルから取り出されます。 このファイルは、4つのコラムを含みます:0桁がインデックスとして使われます、 Column 1-2-3がデータセットとして使われます。 このファイルはヘッダを含みます、Series名はSetSerieName()を使って手動でセットされます。

あなたが直接ブラウザに画像を出力したいならば、Render()の代わりにStroke()を使用してください。

Example 1
(訳注)この画像はサンプルコードのExample1.phpを出力したものです。

Example1.php ソースコード

<?php
 /*
     Example1 : A simple line chart
 */

 // Standard inclusions
 include("pChart/pData.class");
 include("pChart/pChart.class");

 // Dataset definition
 $DataSet = new pData;
 $DataSet->ImportFromCSV("Sample/bulkdata.csv",",",array(1,2,3),FALSE,0);
 $DataSet->AddAllSeries();
 $DataSet->SetAbsciseLabelSerie();
 $DataSet->SetSerieName("January","Serie1");
 $DataSet->SetSerieName("February","Serie2");
 $DataSet->SetSerieName("March","Serie3");
 $DataSet->SetYAxisName("Average age");
 $DataSet->SetYAxisUnit("�s");

 // Initialise the graph
 $Test = new pChart(700,230);
 $Test->setFontProperties("Fonts/tahoma.ttf",8);
 $Test->setGraphArea(70,30,680,200);
 $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
 $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
 $Test->drawGraphArea(255,255,255,TRUE);
 $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);
 $Test->drawGrid(4,TRUE,230,230,230,50);

 // Draw the 0 line
 $Test->setFontProperties("Fonts/tahoma.ttf",6);
 $Test->drawTreshold(0,143,55,72,TRUE,TRUE);

 // Draw the line graph
 $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());
 $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);

 // Finish the graph
 $Test->setFontProperties("Fonts/tahoma.ttf",8);
 $Test->drawLegend(75,35,$DataSet->GetDataDescription(),255,255,255);
 $Test->setFontProperties("Fonts/tahoma.ttf",10);
 $Test->drawTitle(60,22,"example 1",50,50,50,585);
 $Test->Render("example1.png");
?>