PHPのグラフツールpChartを設置してみた †
以下のURLで公開されている pChart - a PHP class to build charts をPHP+Apache2環境に設置して動作確認を行った時の備忘録です。
http://pchart.sourceforge.net/
スポンサーリンク
動作確認環境 †
動作確認は以下の環境で行いました。
- OS
$ lsb_release -d
Description: Ubuntu 12.04.4 LTS
- PHP
$ php --version
PHP 5.3.10-1ubuntu3.10 with Suhosin-Patch (cli) (built: Feb 28 2014 23:19:50)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
- Apache
$ apache2 -v
Server version: Apache/2.2.22 (Ubuntu)
Server built: Jul 12 2013 13:38:21
- pChart
pChart 1.27 - beta
またPHP+Apache2は以下の記事で構築したLAMP環境を使用しました。
pChartにはGDライブラリが必要 †
本資料の動作環境は、以下のURLの記事の操作でLAMP環境をUbuntu上に構築しました。
しかしpChartにはGDライブラリが必要なため、以下のコマンドでPHP向けGDライブラリをインストールしました。
以下のphpスクリプトをHTTPのドキュメントルート(Ubuntu12.04では/var/www)に作成しブラウザにてアクセスしました。
GDライブラリがインストールされたのが確認できます。
- GDライブラリ(php5-gd)インストール完了後、Apacheを再起動
sudo /etc/init.d/apache2 restart
- 以下のPHPスクリプトを作成しドキュメントルートに配置
<?php phpinfo(); ?>
- ブラウザにてアクセスしgdがインストールされていることを確認。
gdの表示があればGDライブラリ(モジュール)がインストールされています。
pChartのダウンロード †
- 以下のURLからpChartをダウンロードします。
http://pchart.sourceforge.net/download.php
- pChart.1.27d.rar をダウンロードしました。
rarの解凍(展開) †
ダウンロードしたファイルはrar形式で圧縮されています。
Windowsであれば解凍(展開)してからApache環境のドキュメントルートに移動した方が簡単だと思います。
以下にLinux(Ubuntu)上でrar形式の解凍方法を記します。
- unrarをインストールする
以下のコマンドでunrarをインストールします。
sudo apt-get install unrar
- ドキュメントルートにchartディレクトリを作成。(以下、Ubuntuの時の操作です。)
cd /var/www
sudo mkdir chart
- ダウンロードしたpChart.1.27d.rarをApacheのドキュメントルートの下に作成したchartディレクトリに移動またはコピーします。
この記事の時は、/tmp/にpChart.1.27d.rarをダウンロードしたので、以下のコマンドでコピーしました。
sudo cp /tmp/pChart.1.27d.rar /var/www/chart/
- pChart.1.27d.rarをunrarコマンドで解凍(展開)します。
sudo unrar x pChart.1.27d.rar
上記コマンド(unrar)を実行した時の出力です。
sakura@ubuntu:/var/www/chart$ sudo unrar x pChart.1.27d.rar
UNRAR 4.00 beta 3 freeware Copyright (c) 1993-2010 Alexander Roshal
Extracting from pChart.1.27d.rar
pChart v1.27d - http://pchart.sourceforge.net
Released on 10/03/2008 by Jean-Damien POGOLOTTI
Following changes have been introduced in this release :
<省略>
Extracting Sample/logo.png OK
Extracting Sample/Point_Asterisk.gif OK
Extracting Sample/Point_Cd.gif OK
<省略>
Extracting Example19.php OK
Extracting Example2.php OK
Extracting Example20.php OK
Extracting Example21.php OK
<省略>
All OK
sakura@ubuntu:/var/www/chart$
pChartのサンプルを実行してみる †
rarファイルを解凍すると以下のように展開されました。
sakura@ubuntu:~$ LANG=C tree /var/www/chart/
/var/www/chart/
|-- Cache
|-- Example1.php
|-- Example10.php
|-- Example11.php
|-- Example12.php
|-- Example13.php
|-- Example14.php
|-- Example15.php
|-- Example16.php
|-- Example17.php
|-- Example18.php
|-- Example19.php
|-- Example2.php
|-- Example20.php
|-- Example21.php
|-- Example22.php
|-- Example23.php
|-- Example24.php
|-- Example25.php
|-- Example26.php
|-- Example3.php
|-- Example4.php
|-- Example5.php
|-- Example6.php
|-- Example7.php
|-- Example8.php
|-- Example9.php
|-- Fonts
| |-- GeosansLight.ttf
| |-- MankSans.ttf
| |-- Silkscreen.ttf
| |-- pf_arma_five.ttf
| `-- tahoma.ttf
|-- HomePage3.php
|-- Naked.php
|-- Sample
| |-- CO2.csv
| |-- Point_Asterisk.gif
| |-- Point_Cd.gif
| |-- Sav143.tmp
| |-- bulkdata.csv
| |-- datawithtitle.csv
| |-- logo.png
| |-- softtones.txt
| `-- tones.txt
|-- SmallGraph.php
|-- SmallStacked.php
|-- buildAll.cmd
|-- pChart
| |-- pCache.class
| |-- pChart.class
| `-- pData.class
|-- pChart.1.27d.rar
`-- tmp
Example1.phpからExample26.phpまでサンプルコードがあります。
しかし、このExample1.phpなどは画像ファイルを作成する処理となっています。
(パーミッションも問題がある場合は、ファイルが生成されないので注意してください。)
ブラウザに出力されるように修正します。
Example1.phpを例に修正してみます。
他のExample??.phpも同様に修正が必要になります。
(修正時、パーミッションの問題があると思うのでみなさんの環境にあったパーミッションやオーナーに変更してください。)
<省略>
39 // Finish the graph
40 $Test->setFontProperties("Fonts/tahoma.ttf",8);
41 $Test->drawLegend(75,35,$DataSet->GetDataDescription(),255,255,255);
42 $Test->setFontProperties("Fonts/tahoma.ttf",10);
43 $Test->drawTitle(60,22,"example 1",50,50,50,585);
44 $Test->Render("example1.png");
45 ?>
44行目を以下のように修正してください。
上記の修正を行ってExample1.phpをブラウザでアクセスした時のスクリーンショットです。
サンプルコードでは、Exampleを実行した場所にファイルを作成し保存するものが多いと思います。
よって、pChartでは画像をそのままブラウザに出力したり、画像ファイルを作成したりすることができるます。
pChart関連のURL †
pChartを使用するにあたり、参考になると思われるURLを以下に記します。
以上、PHPで簡単にグラフ描画ができるpChartの紹介でした。
スポンサーリンク