UPDATE:2017年03月27日
PHPのPEARを利用したグラフ作成
PHPのPEARを利用したグラフ作成
GD拡張モジュールの確認
phpinfo();
で確認できます。
「gd」表記内容を確認して下さい。
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.2.1
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
グラフ作成に必要なPEARのインストール
PEARのインストールディレクトリを確認
- Image_Color
- Image_Canvas
- Numbers_Roman
- Numbers_Words
- Image_Graph
PEARのバージョンを確認
pear version
PEAR Version: ******
PHP Version: ******
と表示されるのでバージョンを確認できます。
Image_Colorをインストール
pear install Image_Color2-0.1.5
http://pear.php.net/package/Image_Color2/download
Dependencies(環境):
PHP Version: PHP 5.0.0 or newer
PEAR Package: PEAR Installer 1.4.0a1 or newer
Image_Canvasをインストール
pear install Image_Canvas-0.3.3
http://pear.php.net/package/Image_Canvas/download
Dependencies(環境):
PHP Version: PHP 4.3.0 or newer
PEAR Package: PEAR Installer 1.8.1 or newer
PEAR Package: Image_Color 1.0.0 or newer
PHP Extension: gd
Numbers_Romanをインストール
pear install Numbers_Roman
http://pear.php.net/package/Numbers_Roman/download
Dependencies(環境):
PHP Version: PHP 4.3.0 or newer
PEAR Package: PEAR Installer 1.5.0 or newer
Numbers_Wordsをインストール
pear install Numbers_Words-0.16.2
http://pear.php.net/package/Numbers_Words/download/
Dependencies(環境):
PHP Version: PHP 4.0.0 or newer
PEAR Package: PEAR Installer 1.4.0b1 or newer
PEAR Package: Math_BigInteger
Image_Graphをインストール
pear install Image_Graph-0.8.0
http://pear.php.net/package/Image_Graph/download/
Dependencies(環境):
PHP Version: PHP 5.0.0 or newer
PEAR Package: PEAR 1.4.0b1 or newer
PEAR Package: PEAR 1.3.1 or newer
PEAR Package: Image_Canvas 0.3.0 or newer
PEAR Package: Numbers_Roman (optional)
PEAR Package: Numbers_Words (optional)
折れ線グラフ サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | <!-- サンプルコード --> <?php #################################################################### ### 折れ線グラフ #################################################################### ### PEARパス phpinfo();で確認 require_once 'Image/Graph.php'; ### キャンバスの作成 $aParam = array(array('width' => 500, 'height' => 500, 'canvas' => 'png')); $oGraph =& Image_Graph::factory('graph', $aParam); ### タイトルとグラフデータを描画するエリアを作成 $sImageText = mb_convert_encoding('GRAPH',"UTF-8","UTF-8"); $oGraph->add( Image_Graph::vertical( Image_Graph::factory('title', array($sImageText, 18)), Image_Graph::vertical( $oPlotArea1 = Image_Graph::factory('plotarea'), $oPlotArea2 = Image_Graph::factory('legend'), 80 ), 17// タイトルを表示する縦サイズの割合% ) ); ### 2つ目のエリアを凡例用に使用 $oPlotArea2->setPlotarea($oPlotArea1); ### 線グラフ1作成 $aGraphData[0] =& Image_Graph::factory('dataset'); $aGraphData[0]->addPoint('a', 10); $aGraphData[0]->addPoint('b', 15); $aGraphData[0]->addPoint('c', 19); $aGraphData[0]->addPoint('d', 2); $aGraphData[0]->addPoint('e', 23); $aGraphData[0]->addPoint('f', 8); $aGraphData[0]->addPoint('g', 12); $aGraphData[0]->addPoint('h', 16); // タイトル設定 $sImageText = mb_convert_encoding('Type A',"UTF-8","UTF-8"); $aGraphData[0]->setName( $sImageText ); ### 線グラフ2作成 $aGraphData[1] =& Image_Graph::factory('dataset'); $aGraphData[1]->addPoint('a', 6); $aGraphData[1]->addPoint('b', 0); $aGraphData[1]->addPoint('c', -2); $aGraphData[1]->addPoint('d', 20); $aGraphData[1]->addPoint('e', 10); $aGraphData[1]->addPoint('f', 13); $aGraphData[1]->addPoint('g', 9); $aGraphData[1]->addPoint('h', 5); // タイトル設定 $sImageText = mb_convert_encoding('Type B',"UTF-8","UTF-8"); $aGraphData[1]->setName( $sImageText ); ### エリアにグラフを描画 $Plot =& $oPlotArea1->addNew('line', array($aGraphData)); ### 線グラフ色指定 $FillArray =& Image_Graph::factory('Image_Graph_Line_Array'); $FillArray->addColor('black'); $FillArray->addColor('red'); $Plot->setLineColor($FillArray); ### データ値を表示 $Marker =& $Plot->addNew('Image_Graph_Marker_Value', IMAGE_GRAPH_VALUE_Y); $Plot->setMarker($Marker); $Plot->setDataSelector(Image_Graph::factory('Image_Graph_DataSelector_NoZeros')); ### x軸y軸の終点に矢印を表示 $AxisX1 =& $oPlotArea1->getAxis('x'); $AxisX1->showArrow(); $AxisY1 =& $oPlotArea1->getAxis('y'); $AxisY1->showArrow(); ### 線グラフ出力 $oGraph->done( ); ?> |
棒グラフ サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | <!-- サンプルコード --> <?php #################################################################### ### 棒線グラフ #################################################################### ### PEARパス phpinfo();で確認 require_once 'Image/Graph.php'; ### キャンバスの作成 $aParam = array(array('width' => 500, 'height' => 500, 'canvas' => 'png')); $oGraph =& Image_Graph::factory('graph', $aParam); ### タイトルとグラフデータを描画するエリアを作成 $sImageText = mb_convert_encoding('GRAPH',"UTF-8","UTF-8"); $oGraph->add( Image_Graph::vertical( Image_Graph::factory('title', array($sImageText, 18)), Image_Graph::vertical( $oPlotArea1 = Image_Graph::factory('plotarea'), $oPlotArea2 = Image_Graph::factory('legend'), 80 ), 17// タイトルを表示する縦サイズの割合% ) ); ### 2つ目のエリアを凡例用に使用 // データをランダム発生( データ数, 最小, 最大, 0 が必要か ) ### 線グラフ1作成 $aGraphData[0] =& Image_Graph::factory('dataset'); $aGraphData[0]->addPoint('a', 10); $aGraphData[0]->addPoint('b', 15); $aGraphData[0]->addPoint('c', 19); $aGraphData[0]->addPoint('d', 2); $aGraphData[0]->addPoint('e', 23); $aGraphData[0]->addPoint('f', 8); $aGraphData[0]->addPoint('g', 12); $aGraphData[0]->addPoint('h', 16); // 棒グラフをエリアに描画 $Plot =& $oPlotArea1->addNew('bar', array(&$aGraphData)); // 線の部分(箱)の色 $Plot->setLineColor('gray'); // 箱の中の色( 色@濃度 ) $Plot->setFillColor('blue@0.2'); ### x軸y軸の終点に矢印を表示 $AxisX1 =& $oPlotArea1->getAxis('x'); $AxisX1->showArrow(); $AxisY1 =& $oPlotArea1->getAxis('y'); $AxisY1->showArrow(); ### 線グラフ出力 $oGraph->done( ); ?> |
タグ(=記事関連ワード)
日付
最終更新日:2017年03月27日