Blame view

site/jpgraph/Examples/windrose_ex3.php 2.12 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
  <?php
  require_once ('jpgraph/jpgraph.php');
  require_once ('jpgraph/jpgraph_windrose.php');
  
  // Data can be specified using both ordinal index of the axis
  // as well as the direction label
  $data[0] = array(
      0 => array(1,1,2.5,4),
      1 => array(3,4,1,4),
      3 => array(2,7,4,4,3),
      5 => array(2,7,1,2));
  
  $data[1] = array(
      "n" => array(1,1,2.5,4),
      "ssw" => array(3,4,1,4),
      "se" => array(2,7,4,4,3));
  
  // Store the position and size data for each plot in an
  // array to make it easier to create multiple plots.
  // The format choosen for the layout data is
  // (type,x-pos,y-pos,size, z-circle size)
  $layout = array(
      array(WINDROSE_TYPE8,0.25,0.55,0.4,0.25),
      array(WINDROSE_TYPE16,0.75,0.55,0.4,0.25));
  
  $legendtxt = array('(m/s) Station 7','(m/s) Station 12');
  
  // First create a new windrose graph with a dropshadow
  $graph = new WindroseGraph(600,350);
  $graph->SetShadow('darkgray');
  
  // Setup titles
  $graph->title->Set('Windrose example 3');
  $graph->title->SetFont(FF_VERDANA,FS_BOLD,12);
  $graph->title->SetColor('navy');
  $graph->subtitle->Set('(Multiple plots in the same graph)');
  $graph->subtitle->SetFont(FF_VERDANA,FS_NORMAL,9);
  $graph->subtitle->SetColor('navy');
  
  // Create the two windrose plots.
  for( $i=0; $i < count($data); ++$i ) {
      $wp[$i] = new WindrosePlot($data[$i]);
  
      // Make it have 8 compass direction
      $wp[$i]->SetType($layout[$i][0]);
  
      // Adjust the font and font color for scale labels
      $wp[$i]->scale->SetFont(FF_TIMES,FS_NORMAL,10);
      $wp[$i]->scale->SetFontColor('navy');
  
      // Set the position of the plot
      $wp[$i]->SetPos($layout[$i][1],$layout[$i][2]);
  
      // Set the diameter for the plot to 30% of the width of the graph pixels
      $wp[$i]->SetSize($layout[$i][3]);
  
      // Set the size of the innermost center circle to 30% of the plot size
      $wp[$i]->SetZCircleSize($layout[$i][4]);
  
      // Adjust the font and font color for compass directions
      $wp[$i]->SetFont(FF_ARIAL,FS_NORMAL,10);
      $wp[$i]->SetFontColor('darkgreen');
  
      // Add legend text
      $wp[$i]->legend->SetText($legendtxt[$i]);
  
      $graph->Add($wp[$i]);
  }
  
  // Send the graph to the browser
  $graph->Stroke();
  ?>