Blame view

site/jpgraph/Examples/example3.4.1.php 2.18 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
71
72
73
74
75
76
77
78
79
80
81
82
  <?php // content="text/plain; charset=utf-8"
  require_once ('jpgraph/jpgraph.php');
  require_once ('jpgraph/jpgraph_line.php');
  
  // A function to return the Roman Numeral, given an integer
   function numberToRoman($aNum)
   {
       // Make sure that we only use the integer portion of the value
       $n = intval($aNum);
       $result = '';
  
       // Declare a lookup array that we will use to traverse the number:
       $lookup = array('M' => 1000, 'CM' => 900, 'D' => 500, 'CD' => 400,
       'C' => 100, 'XC' => 90, 'L' => 50, 'XL' => 40,
       'X' => 10, 'IX' => 9, 'V' => 5, 'IV' => 4, 'I' => 1);
  
       foreach ($lookup as $roman => $value)
       {
           // Determine the number of matches
           $matches = intval($n / $value);
  
           // Store that many characters
           $result .= str_repeat($roman, $matches);
  
           // Substract that from the number
           $n = $n % $value;
       }
  
       // The Roman numeral should be built, return it
       return $result;
  }
  
  function formatCallback($aVal) {
  	return '('.numberToRoman($aVal).')';
  }
  
  
   // Some (random) data
  $ydata = array(11,3,8,12,5,1,9,13,5,7);
  
  // Size of the overall graph
  $width=350;
  $height=250;
  
  // Create the graph and set a scale.
  // These two calls are always required
  $graph = new Graph($width,$height);
  $graph->clearTheme();
  $graph->SetScale('intlin');
  $graph->SetShadow();
  
  // Setup margin and titles
  $graph->SetMargin(40,20,20,40);
  $graph->title->Set('Calls per operator');
  $graph->subtitle->Set('(March 12, 2008)');
  $graph->xaxis->title->Set('Operator');
  $graph->yaxis->title->Set('# of calls');
  
  $graph->yaxis->title->SetFont( FF_FONT1 , FS_BOLD );
  $graph->xaxis->title->SetFont( FF_FONT1 , FS_BOLD );
  
  $graph->yaxis->SetColor('blue');
  
  // Create the linear plot
  $lineplot=new LinePlot($ydata);
  $lineplot->SetColor( 'blue' );
  $lineplot->SetWeight( 2 );   // Two pixel wide
  $lineplot->mark->SetType(MARK_UTRIANGLE);
  $lineplot->mark->SetColor('blue');
  $lineplot->mark->SetFillColor('red');
  
  $lineplot->value->Show();
  $lineplot->value->SetFont(FF_ARIAL,FS_BOLD,10);
  $lineplot->value->SetColor('darkred');
  $lineplot->value->SetFormatCallback('formatCallback');
  
  // Add the plot to the graph
  $graph->Add($lineplot);
  
  // Display the graph
  $graph->Stroke();
  ?>