具有非连续时间值的 jpgraph 甘特图
jpgraph gantt chart with non continuous time values
通过阅读文档,我设法绘制了这样的图。
该图的数据如下所示。
$data = array(
array(0," Label 1", "2001-01-26 04:00","2001-01-26 14:00"),
array(1," Label 2", "2001-01-26 10:00","2001-01-26 18:00"),
array(2," Label 3", "2001-01-26","2001-01-26 10:00"),
array(3," Label 3", "2001-01-26 13:20","2001-01-26 16:00")
);
for($i=0; $i<count($data); ++$i) {
$bar = new GanttBar($data[$i][0],$data[$i][1],$data[$i][2],$data[$i][3],"",10);
if( count($data[$i])>4 )
$bar->title->SetFont($data[$i][4],$data[$i][5],$data[$i][6]);
$graph1->Add($bar);
}
$graph1->Stroke();
如何更改它以具有这样的情节。
我从来没有用过甘特图,但是通过查看代码我可以猜一猜。
我保存上一个标签并查看它是否与下一个标签匹配,如果匹配我使用之前的数字和标签值。
$data = array(
array(0," Label 1", "2001-01-26 04:00","2001-01-26 14:00"),
array(1," Label 2", "2001-01-26 10:00","2001-01-26 18:00"),
array(2," Label 3", "2001-01-26","2001-01-26 10:00"),
array(3," Label 3", "2001-01-26 13:20","2001-01-26 16:00")
);
$prev ="";
for($i=0; $i<count($data); ++$i) {
If($prev == $data[$i][1]){
// Grab previous number and label.
$bar = new GanttBar($data[$i-1][0],$data[$i-1][1],$data[$i][2],$data[$i][3],"",10);
}Else{
$bar = new GanttBar($data[$i][0],$data[$i][1],$data[$i][2],$data[$i][3],"",10);
}
if( count($data[$i])>4 )
$bar->title->SetFont($data[$i][4],$data[$i][5],$data[$i][6]);
$graph1->Add($bar);
$prev = $data[$i][1]; // Label
}
$graph1->Stroke();
试一试,看看是否有效。
通过阅读文档,我设法绘制了这样的图。
该图的数据如下所示。
$data = array(
array(0," Label 1", "2001-01-26 04:00","2001-01-26 14:00"),
array(1," Label 2", "2001-01-26 10:00","2001-01-26 18:00"),
array(2," Label 3", "2001-01-26","2001-01-26 10:00"),
array(3," Label 3", "2001-01-26 13:20","2001-01-26 16:00")
);
for($i=0; $i<count($data); ++$i) {
$bar = new GanttBar($data[$i][0],$data[$i][1],$data[$i][2],$data[$i][3],"",10);
if( count($data[$i])>4 )
$bar->title->SetFont($data[$i][4],$data[$i][5],$data[$i][6]);
$graph1->Add($bar);
}
$graph1->Stroke();
如何更改它以具有这样的情节。
我从来没有用过甘特图,但是通过查看代码我可以猜一猜。
我保存上一个标签并查看它是否与下一个标签匹配,如果匹配我使用之前的数字和标签值。
$data = array(
array(0," Label 1", "2001-01-26 04:00","2001-01-26 14:00"),
array(1," Label 2", "2001-01-26 10:00","2001-01-26 18:00"),
array(2," Label 3", "2001-01-26","2001-01-26 10:00"),
array(3," Label 3", "2001-01-26 13:20","2001-01-26 16:00")
);
$prev ="";
for($i=0; $i<count($data); ++$i) {
If($prev == $data[$i][1]){
// Grab previous number and label.
$bar = new GanttBar($data[$i-1][0],$data[$i-1][1],$data[$i][2],$data[$i][3],"",10);
}Else{
$bar = new GanttBar($data[$i][0],$data[$i][1],$data[$i][2],$data[$i][3],"",10);
}
if( count($data[$i])>4 )
$bar->title->SetFont($data[$i][4],$data[$i][5],$data[$i][6]);
$graph1->Add($bar);
$prev = $data[$i][1]; // Label
}
$graph1->Stroke();
试一试,看看是否有效。