[PHP-users 29366] JpgraphをLinuxで使うには?

y-enomoto@mippi-mail.com y-enomoto @ mippi-mail.com
2006年 6月 12日 (月) 14:44:51 JST


初めまして、なぷらと言います。

PHPは超初心者です。

WindowsXP+apache+PHP(Xamppを利用)でPHPプログラムの
作成練習をしていましたが、このたびLinuxサーバーでPHPを動かして
見ようとしています。
Jpgraphを使って、グラフを書き日本語で表示しようとしてつまずきました。
最初に日本語表示をせずに、折線グラフはかけました。
次に、棒グラフ+日本語でつまずきました。
動かないものは、このページには問題が有り表示できませんの
エラーがブラウザで表示されます。

コードは以下の通りです。(確実に動作をねらい色々なサンプルで
チェックしています。
動いたもの
<?php

// 必要パッケージの読込み
include ("/usr/local/lib/php/PEAR/jpgraph/jpgraph.php");
include ("/usr/local/lib/php/PEAR/jpgraph/jpgraph_line.php");

// グラフデータ
$adata = array(
            453,514,305,358,438,156,279,318,556,385,493,413,198,490,278,
            146,465,514,173,516,200,410,430,300,111,335,407,471,107,238
         );
$adata2= array(
            144,140,83,74,63,116,141,151,117,129,96,150,115,84,163,
            172,173,87,120,159,153,82,64,184,74,134,84,132,192,114
         );

// グラフの作成
$graph = new Graph(650, 250);
$graph->SetScale("textlin");
$graph->SetFrame(false);
$graph->title->Set('access report');

// 線グラフのインスタンス作成
$lineplot =new LinePlot($adata);
$lineplot->SetLegend('Access');
// 線グラフの線の色を設定
$lineplot->SetColor("gray");

// 線グラフ(2本目)のインスタンス作成
$lineplot2 =new LinePlot($adata2);
$lineplot2->SetLegend('Line2');
$lineplot2->SetColor("red");

// グラフに線グラフを追加
$graph->Add($lineplot);
$graph->Add($lineplot2);

// グラフ描画
$graph->Stroke();

動かないもの

<?php
/* Linux版JpGraph */

include_once ("/usr/local/lib/php/PEAR/jpgraph/jpgraph.php");
include_once ("/usr/local/lib/php/PEAR/jpgraph/jpgraph_bar.php");

// グラフのサイズを 400 * 400 に指定
$graph = new Graph(400, 400);
$graph->SetScale("textlin");

// 表示させるグラフのデータを作成
$datay = array(1,2,3,4,5);
$datax = array("値1","値2","値3","値4","値5");

// バープロットのオブジェクトを作成
$bar_plot = new BarPlot($datay);

// X軸にラベルを設定し、フォントを指定
$graph->xaxis->SetTickLabels($datax);
$graph->xaxis->SetFont(FF_MINCHO);

// 表示するタイトルを設定する
$title = "タイトル";
$title_xaxis = "X軸タイトル";
$title_yaxis = "Y軸タイトル";

// グラフのタイトルを設定し、フォントを指定する
$graph->title->Set($title);
$graph->title->SetFont(FF_MINCHO);

// グラフのX軸タイトルを設定し、フォントを指定する
$graph->xaxis->title->Set($title_xaxis);
$graph->xaxis->title->SetFont(FF_MINCHO);

// グラフのY軸タイトルを設定し、フォントを指定する
$graph->yaxis->title->Set($title_yaxis);
$graph->yaxis->title->SetFont(FF_MINCHO);

// プロットに凡例を追加し、フォントを設定
$bar_plot->SetLegend("凡例");
$graph->legend->SetFont(FF_MINCHO);

// グラフにプロットを追加
$graph->Add($bar_plot);

// グラフを出力
$graph->Stroke();
?>

テスト用のものは
/usr/local/apache/htdocs/tes/
において実験しています。

日本語フォントは

/usr/local/lib/php/PEAR/jpgraph/fonts/

におき

jpgraphのjpg-config.incの中身も

// DEFINE("MBTTF_DIR","/usr/share/fonts/ja/TrueType/");
DEFINE("MBTTF_DIR","/usr/local/lib/php/PEAR/jpgraph/fonts/");
として
// Japanese TrueType font used with FF_MINCHO, FF_PMINCHO, FF_GOTHIC, FF_PGOTHIC
DEFINE('MINCHO_TTF_FONT','ipam.ttf');
DEFINE('PMINCHO_TTF_FONT','ipamp.ttf');
DEFINE('GOTHIC_TTF_FONT','ipag.ttf');
DEFINE('PGOTHIC_TTF_FONT','ipagp.ttf');
も書いてあります。

もちろんfontsフォルダないには各.ttfファイルはコピーしています。

Linuxサーバーは、業者の人がセットしたものでPHP5とMYSQLなどは
最初から使用できるようになっています。

Linuxも超初心者で、root権限でファイルのコピーをして
設定しましたが、同様の結果となってしまいます。

ご指導いただければ幸いです。

よろしくお願いいたします。






PHP-users メーリングリストの案内