PHPでグラフを表示させたいと言われたとき、どんな方法を使いますか?
データベースにためられた数値データを画像にする。
それは、PHPそのままの機能では実装が難しい事なのです。
本日は、PHPにグラフを表示させる方法を以下の内容でお話します。
PHPでグラフを描画するには
JpGraphを使用して棒グラフを描画する方法
JpGraphを使用して折れ線グラフを描画する方法
PHPでのグラフの描画についてわかりやすく解説していますので、ぜひ参考にしてください。
PHPでのグラフ描画の方法
冒頭でも説明した通り、PHPそのままの機能ではグラフの実装はとても難しいです。
出来ないわけではないのですが、とても労力がかかるのでおすすめできません。
ここでは、PHPでグラフを表示するための方法として2つ紹介します。
javascriptを使用する方法
javascriptはプログラム言語の一種です。
javascriptについて詳しく知りたい方は以下を参考にしてください。
Webブラウザ等に表示される要素を操作する事が出来ます。
つまり、データをブラウザに渡して画像となる要素を操作、グラフ表示ができるという事です。
ただ、javascriptの基本的な事を知らないとハードルは高いです。
ライブラリを使用する方法
続いて紹介する方法はライブラリを使用する方法です。
世の中には、PHPでグラフを表示させるためのライブラリが沢山あります。
有名なところでは
JpGraph
pChart
などがあります。
個人の使用では無料ですが、商用利用では有料の場合がありますのでよく確認しましょう。
使い方は、PHPファイルの中でライブラリを読み込んで使用します。
以上、PHPでグラフを表示するために2つの方法を紹介しました。
一番シンプルに試す事ができるのはライブラリを使用する方法です。
次章から、ライブラリを使ってグラフを表示するサンプルを解説していきます。
JpGraphを使用して棒グラフを描画しよう
前章でPHPのグラフ表示として一番おすすめなのは「ライブラリ」を使用する方法だとお話しました。
今回はJpGraphライブラリを使用するして、実際どんなコードでグラフを表示出来るのか説明します。
<?php // ダウンロードした以下のファイルを読み込む require_once ('/home/samurai/jpgraph.php'); require_once ('/home/samurai/jpgraph/jpgraph_bar.php'); // 縦軸のデータ $x_data = array(1,5,10); // グラフの生成 $graph = new Graph(400, 300); $graph->SetScale('textlin'); $graph->SetMarginColor('white'); // タイトル $graph->title->Set('samurai_graph'); // グラフ表示 $bar = new BarPlot($x_data); $bar->value->Show(); $graph->Add($bar); $graph->Stroke(); ?>
結果画像
棒グラフを表示することができました。
コメントに書いていますが、プログラムの流れとしては
ダウンロードしたファイルを読み込む
データを記述をする
グラフを生成するための記述する
タイトルや背景色の設定などの記述をする
グラフ表示のための記述をする
という流れです。
背景やグラフの色も変更する事ができます。
JpGraphを使用して折れ線グラフを描画しよう
続いて、JpGraphライブラリを使用して、折れ線グラフを表示してみましょう。
前章で使用したコードを修正していきます。
<?php require_once ('/home/samurai/jpgraph.php'); // 折れ線グラフ用のファイルを読み込む require_once ('/home/samurai/jpgraph/jpgraph_line.php'); $x_data = array(8, 4, 10); // グラフの生成 $graph = new Graph(400, 300); $graph->SetScale('textlin'); $graph->SetMarginColor('white'); // タイトル $graph->title->Set('samurai_graph'); // グラフ表示 $bar = new LinePlot($x_data); $bar->value->Show(); $graph->Add($bar); $graph->Stroke(); ?>
結果画像
折れ線グラフを表示することができました。
棒グラフと記述を変えた部分は以下です。
<?php //ダウンロードしたファイルを読み込む require_once ('/home/samurai/jpgraph/jpgraph_bar.php'); ↓ require_once ('/home/samurai/jpgraph/jpgraph_line.php'); ?>
<?php // グラフ表示 $bar = new BarPlot($x_data); ↓ $bar = new LinePlot($x_data); ?>
棒グラフと折れ線グラフでは使用ファイルが違う事に注意です。
また、以下の公式ページにサンプルが沢山掲載されていますので、イメージに合うものを選んで試してみてください。
https://www.asial.co.jp/jpgraph/examples.php
まとめ
今回はPHPでグラフ表示する方法について解説しました。
一つの課題を解決するのにも色々な方法があります。
どんな方法があるのか、メリット・デメリットはあるかを覚えておくと方法選択をする時に役に立ちます。
それでは、また。