PHP

JPGraph.PHP Functions

Graph Class

require_once ('jpgraph/jpgraph.php');

Required commands:

$graph = new Graph($width, $height);
$graph->SetScale('textlin'); //starts at 1
$graph->SetScale('intlin'); //starts at 0
//secondary Scale
$graph->SetY2Scale("lin");

Display:

$graph->SetShadow();
$graph->Stroke();

Margins:

$graph->img->SetMargin($left,$right,$top,$bottom);

Title:

$graph->title->Set($title);
$graph->subtitle->Set($subtitle);

Axis

Colors

$graph->xaxis->SetColor("blue");
$graph->yaxis->SetColor("green");
$graph->y2axis->SetColor("orange");

Intervals (Default 1,2,3,4)

$graph->xaxis->SetTextTickInterval(2); // 1,3,5,7

Margins:
Leave 20px above max y limit

$graph->yaxis->scale->SetGrace(20);

Titles (Labels)

$graph->xaxis->SetFont(FF_FONT,FS_BOLD [,$fontSize]); //make label bold
$graph->xaxis->title->Set($xTitle);
$graph->yaxis->title->Set($yTitle);

Title Color

$graph->xaxis->SetColor('blue');
$graph->yaxis->SetColor('red');

Plotting Data

Line Graph

Required:

require_once ('jpgraph/jpgraph_line.php');

$dataset1=array($da1,$da2,$da3); //2,4,6
$dataset2=array($db1,$db2,$db3); //30,45,75

$line1 = new LinePlot($dataset1);
$graph->Add($line1);
$graph->AddY2($line2);

Line Weight:

$graph->img->SetAntiAliasing(FALSE); //required due to bug
$line1->SetWeight(3);

Bar Graph

Required:

require_once ('jpgraph/jpgraph_bar.php');

$dataset1=array($da1,$da2,$da3); //2,4,6
$dataset2=array($db1,$db2,$db3); //30,45,75

$line1 = new LinePlot($dataset1);
$graph->Add($line1);
$graph->AddY2($line2);

Width:

$bplot->SetWidth(0.7);

Legend:

$line1->SetLegend($dataLabel);

Text

$txt=new Text('This is a text');
$txt->SetPos(0,20);
$txt->SetColor('darkred');
$txt->SetFont(FF_FONT2,FS_BOLD);
$graph->AddText($txt);

Bugs!

Notice!!
There is a bug in the examples that causes multiple require_once(‘jpgraph/whatever.php’); to fail.

Example:

require_once('jpgraph/jpgraph.php');
require_once('jpgraph/jpgraph_line.php');
require_once('jpgraph/jpgraph_bar.php');

The above example causes the following error:

PHP Warning:  include_once(): Failed opening 'jpgraph/jpgraph_bar.php' for inclusion ...

The Workaround

This error is resolved by changing the include path to ‘../’

Example

require_once('../jpgraph.php');
require_once('../jpgraph_line.php');
require_once('../jpgraph_bar.php');

Examples

21 2 Bar sets
23 Stacked bars
25 Adding text
26 Pie

y2synch.php – Sycronised Y and Y2 scales (deg F && deg C)

By admin on December 4, 2014 | PHP | A comment?