JpGraph(Ver.4.2.0)を使ってPHPでグラフを描いていてはまった。
SetColor()を使って色を指定してもなぜか色が変わらないというトラブル。
ソースコードその1:
<?php
require_once ('jpgraph/jpgraph.php');
require_once ('jpgraph/jpgraph_line.php');
$ydata = array(1,2,1,3,1,4);
$graph = new Graph(400,300);
$graph->SetScale("textlin");
$lineplot=new LinePlot($ydata);
$lineplot->SetColor("orange");
$graph->Add($lineplot);
$graph->Stroke();
?>

ソースコードその2:
<?php
require_once ('jpgraph/jpgraph.php');
require_once ('jpgraph/jpgraph_line.php');
$ydata = array(1,2,1,3,1,4);
$graph = new Graph(400,300);
$graph->SetScale("textlin");
$lineplot=new LinePlot($ydata);
$graph->Add($lineplot);
$lineplot->SetColor("orange");
$graph->Stroke();
?>

どちらもオレンジ("orage")を指定しているはずが、その1はなぜか青で、その2だと期待通りのオレンジ。
何が違うのかと言うと、その1はSetColor()してからAdd()。一方のその2はAdd()してからSetColor()。
なぜか後者(その2)の順番でないと期待通りに色が変わらない。
ぐぐって探してみたんだが、このことに触れているサイトは見つけられなかった。
Ver.4.2.0の不具合なのかもしれないねえ。
それともPHPのバージョンのせい? PHPはVer.5.3.3。