Blame view

site/jpgraph/Examples/tablebarex1.php 1.75 KB
8ec98c9f   Guillaume   MAJ
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
  include ("../jpgraph.php");
  include ("../jpgraph_bar.php");
  include ("../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();
  
  ?>