我正在尝试修改 phpgraphlib,以便在使用多种条形颜色时生成图例。我在 generateLegend() 中添加了一个带有颜色的数组作为可选参数,但它似乎不起作用。我不知道怎么了。我以前没有使用 PHP 的经验,但在我看来,必须可以将数组作为可选参数传递这是我的代码:
protected function generateLegend(array $colors = array())
{
// here is some code
if($this->bool_multi_color_bars) {
// gets here
if (!empty($colors)) {
// doesn't get here
$index = 0;
foreach($colors as $key => $item) {
// here is some code that creates the colored boxes
$index++;
}
}
}
}
这是调用该函数的代码:
$colors = array();
foreach($data as $key => $value) {
if($value < 3) {
$colors[$key] = 'green';
}
elseif($value < 8) {
$colors[$key] = 'orange';
}
else {
$colors[$key] = 'red';
}
}
$graph->setBarColors($colors);
$graph->setLegend(true, $colors);
$graph->createGraph();
编辑: generateLegend() 使用以下代码调用:
if ($this->bool_legend) {
$this->generateLegend();
}
为了便于阅读,我省略了大部分代码,但我可以看到该方法已被调用(因此我在代码确实得到的地方添加了注释)