[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 メーリングリストの案内