PHP/SWF Chartでグラフ作ってみました

PHP/SWF Charts > Introduction
チュートリアルを読んでGalleryにあるサンプルのコードを少しいじくってみれば誰でも簡単に美しいグラフが作成できるでしょう。感謝です。次はあれを使ってアンケート結果を表示するためのスクリプトを書きましょう。


以下はちょっと詰まったところ。

グラフの左側と右側に違う軸を書くには

左側の軸は$chart['axis_value']とか$chart['axis_value_text']で変えることができますが、軸を増やすことはできないみたいです。右側に軸を書くときは$chart['draw'][$i]を使って自分で位置と文字を指定して描画してあげましょう。


軸を増やす方法を探していたらサンプルがこうなっていたので諦めました。

データを更新してもFlashに反映されない

これはTutorialのまんまですけど、InsertChartするときにデータソースのURLが同じままだと、はじめにキャッシュしたFlashを毎回読み込んでしまうのでデータを変更しても反映されないみたいです。

echo InsertChart("charts.swf","charts_library",
                 "sample.php?uniqueID=".uniqid(rand(),true));

uniqueIDとしてランダムな値をくっつけてやればブラウザが前のとは違うものだと認識して新しいFlashをロードしてくれます。

日本語表示

ラベルやそれ以外のテキストでフォントを指定できるので、「Sans-Serif」「MS 明朝」などを指定することで日本語も描画することが出来ます。しかし、フォントの種類によるのか日本語フォントはalpha値を無視して常に完全不透明で表示されてしまいます。


ここらへんはフォントやFlashについて知らないとわからなさそうです。