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