Blame view

site/jpgraph/Examples/gantthourminex1.php 3.08 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
83
84
85
86
87
88
89
90
91
  <?php // content="text/plain; charset=utf-8"
  // Gantt hour + minute example
  require_once ('jpgraph/jpgraph.php');
  require_once ('jpgraph/jpgraph_gantt.php');
  
  // Some sample Gantt data
  $data = array(
      array(0,array("Group 1","345 days","2004-03-01","2004-05-05"), "2001-11-27 10:00","2001-11-27 14:00",FF_FONT2,FS_NORMAL,0),
      array(1,array("  Label one",' 122,5 days',' 2004-03-01',' 2003-05-05','MJ'), "2001-11-27 16:00","2001-11-27 18:00"),
      array(2,"  Label two", "2001-11-27","2001-11-27 10:00"),
      array(3,"  Label three", "2001-11-27","2001-11-27 08:00")
  );
  
  
  // Basic graph parameters
  $graph = new GanttGraph();
  $graph->SetMarginColor('darkgreen@0.8');
  $graph->SetColor('white');
  
  // We want to display day, hour and minute scales
  $graph->ShowHeaders(GANTT_HDAY | GANTT_HHOUR | GANTT_HMIN);
  
  // We want to have the following titles in our columns
  // describing each activity
  $graph->scale->actinfo->SetColTitles(
      array('Act','Duration','Start','Finish','Resp'));//,array(100,70,70,70));
  
  // Uncomment the following line if you don't want the 3D look
  // in the columns headers
  //$graph->scale->actinfo->SetStyle(ACTINFO_2D);
  
  $graph->scale->actinfo->SetFont(FF_ARIAL,FS_NORMAL,10);
  
  //These are the default values for use in the columns
  //$graph->scale->actinfo->SetFontColor('black');
  //$graph->scale->actinfo->SetBackgroundColor('lightgray');
  //$graph->scale->actinfo->vgrid->SetStyle('solid');
  
  $graph->scale->actinfo->vgrid->SetColor('gray');
  $graph->scale->actinfo->SetColor('darkgray');
  
  // Setup day format
  $graph->scale->day->SetBackgroundColor('lightyellow:1.5');
  $graph->scale->day->SetFont(FF_ARIAL);
  $graph->scale->day->SetStyle(DAYSTYLE_SHORTDAYDATE1);
  
  // Setup hour format
  $graph->scale->hour->SetIntervall(1);
  $graph->scale->hour->SetBackgroundColor('lightyellow:1.5');
  $graph->scale->hour->SetFont(FF_FONT0);
  $graph->scale->hour->SetStyle(HOURSTYLE_H24);
  $graph->scale->hour->grid->SetColor('gray:0.8');
  
  // Setup minute format
  $graph->scale->minute->SetIntervall(30);
  $graph->scale->minute->SetBackgroundColor('lightyellow:1.5');
  $graph->scale->minute->SetFont(FF_FONT0);
  $graph->scale->minute->SetStyle(MINUTESTYLE_MM);
  $graph->scale->minute->grid->SetColor('lightgray');
  
  $graph->scale->tableTitle->Set('Phase 1');
  $graph->scale->tableTitle->SetFont(FF_ARIAL,FS_NORMAL,12);
  $graph->scale->SetTableTitleBackground('darkgreen@0.6');
  $graph->scale->tableTitle->Show(true);
  
  $graph->title->Set("Example of hours & mins scale");
  $graph->title->SetColor('darkgray');
  $graph->title->SetFont(FF_VERDANA,FS_BOLD,14);
  
  
  for($i=0; $i<count($data); ++$i) {
      $bar = new GanttBar($data[$i][0],$data[$i][1],$data[$i][2],$data[$i][3]);
      if( count($data[$i])>4 )
          $bar->title->SetFont($data[$i][4],$data[$i][5],$data[$i][6]);
      $bar->SetPattern(BAND_RDIAG,"yellow");
      $bar->SetFillColor("gray");
      $graph->Add($bar);
  }
  
  
  //$vline = new GanttVLine("2001-11-27");//d=1006858800,
  $vline = new GanttVLine("2001-11-27 9:00");//d=1006858800,
  $vline->SetWeight(5);
  $vline->SetDayOffset(0);
  $vline->title->Set("27/11 9:00");
  $vline->title->SetFont(FF_FONT1,FS_BOLD,10);
  $graph->Add($vline);
  
  $graph->Stroke();
  
  ?>