散布図

Example 24

円グラフの様に、散乱チャートは、pDataクラスの特別な使用を必要とします。
散乱図面を描くために、あなたは少なくとも2つのデータセットを定める必要があります。 この例では、Serie1/Serie2は、線として描かれます。 データは、円にする若干の数学機能(cos/sin)を使用して満たされます。 我々は、スケーリングをダイナミックにしておきます。 散布図をレンダリングする前にdrawXYScale()関数を呼び出し、X軸とY軸の両方が作成される必要があります。 デフォルトで、最小/最大値は、データセットから取得されます、 setFixedScale()関数を呼び出して値を修正することができます(この例では表示されません) :私たちは5垂直方向と水平方向の部門とのボックス(-25,25) - (25,25)を作成することができます。
線散布図を作成するために、私たちは、drawXYGraph()をデータセット名と最初のパレット色を指定して呼んでいます。
このスクリプトを実行するとカレントディレクトリにExample24.phpファイルを作成します。

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

Example24.php ソースコード

<?php
 /*
     Example24 : X versus Y chart
 */

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

 // Dataset definition
 $DataSet = new pData;

 // Compute the points
 for($i=0;$i<=360;$i=$i+10)
  {
   $DataSet->AddPoint(cos($i*3.14/180)*80+$i,"Serie1");
   $DataSet->AddPoint(sin($i*3.14/180)*80+$i,"Serie2");
  }

 $DataSet->SetSerieName("Trigonometric function","Serie1");
 $DataSet->AddSerie("Serie1");
 $DataSet->AddSerie("Serie2");
 $DataSet->SetXAxisName("X Axis");
 $DataSet->SetYAxisName("Y Axis");

 // Initialise the graph
 $Test = new pChart(300,300);
 $Test->drawGraphAreaGradient(0,0,0,-100,TARGET_BACKGROUND);

 // Prepare the graph area
 $Test->setFontProperties("Fonts/tahoma.ttf",8);
 $Test->setGraphArea(55,30,270,230);
 $Test->drawXYScale($DataSet->GetData(),$DataSet->GetDataDescription(),"Serie1","Serie2",213,217,221,TRUE,45);
 $Test->drawGraphArea(213,217,221,FALSE);
 $Test->drawGraphAreaGradient(30,30,30,-50);
 $Test->drawGrid(4,TRUE,230,230,230,20);

 // Draw the chart
 $Test->setShadowProperties(2,2,0,0,0,60,4);
 $Test->drawXYGraph($DataSet->GetData(),$DataSet->GetDataDescription(),"Serie1","Serie2",0);
 $Test->clearShadow();

 // Draw the title
 $Title "Drawing X versus Y charts trigonometric functions  ";
 $Test->drawTextBox(0,280,300,300,$Title,0,255,255,255,ALIGN_RIGHT,TRUE,0,0,0,30);

 // Draw the legend
 $Test->setFontProperties("Fonts/pf_arma_five.ttf",6);
 $DataSet->RemoveSerie("Serie2");
 $Test->drawLegend(160,5,$DataSet->GetDataDescription(),0,0,0,0,0,0,255,255,255,FALSE);

 $Test->Render("example24.png");
?>