如何将JPGraph第二个Y轴数据放在前面(AddY2)?

时间:2012-05-02 17:39:09

标签: php graph jpgraph

我有这个JPGraph(有适当的数据):

// Create the graph. These two calls are always required
$graph = new Graph(640,350,"auto");
$graph->SetScale("textlin");
$graph->SetY2Scale("lin",0,100);

// Create the bar graph
$bplot1 = new BarPlot($datay);
$bplot1->SetFillGradient("darkolivegreen1","darkolivegreen4",GRAD_VERT);
$bplot1->SetWeight(0);
$graph->Add($bplot1);

// Create the line graph
$lplot = new LinePlot($datay2);
$lplot->SetBarCenter();
$lplot->SetStepStyle();
$graph->AddY2($lplot);

// Display the graph
$graph->Stroke();

这样可以正常工作(至少它显示正确的数据)但我的问题是Y2数据在条形图后面。我想要前面的Y2数据,所以数据可以显示为不透明度,我可以看到它有多少百分比。

我尝试重新排列代码,以便AddY2排在第一位或最后一位,甚至混合它,但仍然是相同的 - 总是在栏后面。

有人对此有任何见解吗?

如果这不可行,那么还有什么选择 - 任何其他免费的图形工具都可以像JPGraph一样工作(我使用CentOS和PHP)?

1 个答案:

答案 0 :(得分:3)

如果我理解你想要达到的目标......尝试在Y刻度上翻转。

$graph->Add($bplot1);$graph->AddY2($bplot1);

$graph->AddY2($lplot);变为$graph->Add($lplot);

修改

我误解了......添加$graph->SetY2OrderBack(false);会将Y2放在Y1的前景上。 来源: docs/classref/Graph.html#_GRAPH_SETY2ORDERBACK