tablebarex1.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php // content="text/plain; charset=utf-8"
require_once ("../jpgraph.php");
require_once ("../jpgraph_bar.php");
require_once ("../jpgraph_table.php");
 
$datay = array(
    array('Jan','Feb','Mar','Apr','May','Jun'),
    array(12,18,19,7,17,6),
    array(3,5,2,7,5,25),
    array(6,1.5,2.4,2.1,6.9,12.3))
;
 
// Some basic defines to specify the shape of the bar+table
$nbrbar = 6;
$cellwidth = 50;
$tableypos = 200;
$tablexpos = 60;
$tablewidth = $nbrbar*$cellwidth;
$rightmargin = 30;
 
// Overall graph size
$height = 320;
$width = $tablexpos+$tablewidth+$rightmargin;
 
// Create the basic graph. 
$graph = new Graph($width,$height);    
$graph->img->SetMargin($tablexpos,$rightmargin,30,$height-$tableypos);
$graph->SetScale("textlin");
$graph->SetMarginColor('white');
 
// Setup titles and fonts
$graph->title->Set('Bar and table');
$graph->title->SetFont(FF_VERDANA,FS_NORMAL,14);
$graph->yaxis->title->Set("Flow");
$graph->yaxis->title->SetFont(FF_ARIAL,FS_NORMAL,12);
$graph->yaxis->title->SetMargin(10);
 
// Create the bars and the accbar plot
$bplot = new BarPlot($datay[3]);
$bplot->SetFillColor("orange");
$bplot2 = new BarPlot($datay[2]);
$bplot2->SetFillColor("red");
$bplot3 = new BarPlot($datay[1]);
$bplot3->SetFillColor("darkgreen");
$accbplot = new AccBarPlot(array($bplot,$bplot2,$bplot3));
$accbplot->value->Show();
$graph->Add($accbplot);
 
//Setup the table
$table = new GTextTable();
$table->Set($datay);
$table->SetPos($tablexpos,$tableypos+1);
 
// Basic table formatting
$table->SetFont(FF_ARIAL,FS_NORMAL,10);
$table->SetAlign('right');
$table->SetMinColWidth($cellwidth);
$table->SetNumberFormat('%0.1f');
 
// Format table header row
$table->SetRowFillColor(0,'teal@0.7');
$table->SetRowFont(0,FF_ARIAL,FS_BOLD,11);
$table->SetRowAlign(0,'center');
 
// .. and add it to the graph
$graph->Add($table);
 
$graph->Stroke();
 
?>