PHPlot グラフ表示

PHPlot グラフ表示概要

PHP でグラフを作成する時、いくつかの方法がありますのでここに列挙してみます。

  1. Pear::Image_Graph  

    Image_Graph はよくできたライブラリーなのですが、折線をうまく表示することができないので、 これを回避するためいろいろな方策をとることが必要でした。

  2. JpGraph  

    JpGraph はとてもよくできています。
    日本語のマニアルもありますし、ほぼ完璧といってもよいかもしれません。
    でも有料なのです。
    ただし、非営利目的で使用する場合ならコミュニティ版を使用すれば無料です。

  3. pChart  

    美しいグラフを作成したいなら、この pChart を使うとよいと思います。
    でも商用は有料です。
    ただし、非営利目的で使用する場合なら利用できそうです。

  4. LibChart  

    LibChart は棒グラフと折線グラフといった異なるグラフを同時に表現することはできません。
    ただし、複数の折線グラフは表示可能です。

  5. JavaScript 他  

    PHP 以外の方法でグラフを作成するのなら、
    Google Charts
    D3.js(TechanJS)
    NVD3.js
    があるようですが、JavaScript ベ-スなので、このサイトの範疇からは、はずれる内容かなと思います。

ということで、ここでは、Pear::Image_Graph と同等、問題点の少ない PHPlot を紹介します。
PHPlot は PHP でグラフファイルを生成又は表示するためのライブラリです。

Composer PHPlot インスト-ル

PHPlot ライブラリ-は Composer からインスト-ルします。 Composer がインスト-ルされていない方は、まずは
Composer インスト-ル1
を読んで、Composer をインスト-ルしてください。
Composer がインスト-ル済みの方は
PHPExcel のインスト-ル2
を参考にして、PHPlot をインスト-ルします。

Composer インスト-ラの起動

XAMPP がインスト-ルされているフォルダ
C:\xampp\php
を見てください。
ここに、composer.bat があるはずです。
もし、見つからない人は PHPExcel のインスト-ル2
をもう一度見直してください。
C:\xampp\php\composer.bat
が composer のインスト-ルファイルです。
なんと bat ファイルがインスト-ルファイルなのです。
前近代的なつくりになっています。
Windows 10 の場合は、左下隅
「スタート」(Windows マーク)を右クリック→「コマンドプロンプト(c)」 と進みます。
Windowsシステムツ-ルの中にある「コマンドプロンプト」を
(「管理者として実行(A)」する必要はないようです)
実行します。
(古いですね、化石ソフト?-コマンドプロンプト でもまだ現役です)
C:\Users\ユ-ザ>
の画面が開きます。
続いて
cd\xampp\php
と書き込んで実行します。(ディレクトリを変更しました)
C:\xampp\php
となりますので、これで Composer インスト-ラ①の起動準備②は完了です。

PHPlot のインスト-ル1

それでは、インスト-ラ①を使って PHPlot パッケ-ジをインスト-ルしたいと思います。
Packagist の公式サイト
に行くとその名前が出てきます。
Packagist 検索サイト
に行くと検索画面が出ますのでここにパッケ-ジ名 PHPlot を入れてみてください。
「PHPlot」と入れて「Enter」キ- を押せば PHPlot 関連のパッケ-ジがでてきます。
ちなみに IE では見付けることがきできません。
Chrome 等で検索してください。
この時、最初に出てくる davefx/phplot をインスト-ルします。
この PHPlot を使用すると各種のグラフを作成することができます。

PHPlot のインスト-ル2

Composer インスト-ラ①の起動準備②が完了したら C:\xampp\php>
と表示されているはずですので、その後に引き続き、
composer require davefx/phplot
と入力して「Eeter」キ-を押します。
Netには必ず接続しておいてください。-ここ重要-
かなり時間がかかって(1分ぐらい)コメントが沢山出てきてインスト-ルが完了します。

PHPlot コマンドプロンプト画面

PHPlot インスト-ル確認

PHPlot をインスト-ルしました。
どこにできたかというと、エクスプロ-ラで見ると
C:\xampp\php\vendor
 └ autoload.php
 └ \composer
 └ \davefx
  └ \phplot
    └ \phplot
のようなフォルダ構造があるはずです。
\davefx\phplot\phplot の中にあるのが PHPlot パッケ-ジです。
この vendor フォルダにインクルードパスを通さないと PHPExcel パッケ-ジを利用することはできません。
パスが通ると PHP ファイルを作成したとき、例えば
require_once 'davefx/phplot/phplot/phplot.php';
と書いたとき正常に動きます。
インクルードパスには複数のパスを記述でき、セミコロン(;)で区切って続けて記述できます。
Xampp PHP のデフォルトでは
C:\xampp\php\PEAR
がインクルードパスに設定されています。
C:\xampp\php 直下に php.ini ファイルありますのでこれを TeraPad で開いて見てください。
724行目あたりに
include_path = C:\xampp\php\PEAR ・・・・③
があり、そのすぐ下に
; Windows: "\path1;\path2"
なるコメントがあります。
これがインクルードパスを複数設定するための方法です。
追加するパスは
C:\xampp\php\vendor
ですから、③を
include_path = "C:\xampp\php\PEAR;C:\xampp\php\vender"
と書き換えれば、2つのフォルダにパスが通ります。
なお、" "内には「半角スペ-ス」や「改行」は使うことができないので長くなりますが続けて書いてください。
書き換えが終わったら php.ini を保存して終了してください。
XAMPP を再起動すると2つのフォルダにパスが通ります。

PHPlot をサ-バ上で動かす

PHPlot をサ-バ上で動かすには
Composer をサ-バ上で動かす を参照して、
C:\xampp\php\vendor
 └ autoload.php
 └ \composer
 └ \davefx
  └ \phplot
   └ \phplot
を全部サ-バに入れる必要があります。
そして、サ-バ上の Composer にパスを通すことも必要となります。

これで、PHPlot のインスト-ルは完了です。
引き続き、単純な PHPlot ファイル plot_gra/phplot-tofile-1.php を作成していきます。

長くなりましたのでここで一旦切りたいと思います。


単純な PHPlot ファイル作成 に続く

63PearVillageに戻る