JpGraphに関するFAQ検索
エラーメッセージについて
Q. 「Warning: Cannot add header information - headers already sent ...」というエラーが出ます。
A.
これ自体はJpGraphの問題ではありません。このエラーの原因は、画像がブラウザに送信される前に、ブラウザにデータを送っていることです。たとえば、<?phpの前に空白文字がある場合にも起こります。
もしくは、ファイルの末尾にある空白行が原因でこの問題が引き起こされているのかもしれません。他にも、外部のファイルをincludeやinclude_onceなどを使用して読み込んだ場合に、それらのファイルの中にPHP以外のコードや、何らかの文字列を出力するコードが含まれていないか確認してください。
A.
これ自体はJpGraphの問題ではありません。このエラーの原因は、画像がブラウザに送信される前に、ブラウザにデータを送っていることです。たとえば、<?phpの前に空白文字がある場合にも起こります。
もしくは、ファイルの末尾にある空白行が原因でこの問題が引き起こされているのかもしれません。他にも、外部のファイルをincludeやinclude_onceなどを使用して読み込んだ場合に、それらのファイルの中にPHP以外のコードや、何らかの文字列を出力するコードが含まれていないか確認してください。
Q. 「Fatal error: Font cant be found」というエラーメッセージが出ました。
A.
フォントファイルが置いてある場所の正確なパスを記述していないか、インストールしていないフォントを使用しようとしています。jpg-config.incのフォントのパス設定をご確認ください。
A.
フォントファイルが置いてある場所の正確なパスを記述していないか、インストールしていないフォントを使用しようとしています。jpg-config.incのフォントのパス設定をご確認ください。
Q. 「Unknown function imagecreate」と出力されます。
A.
GDライブラリをサポートしたPHPでコンパイルしていません。詳細はPHPドキュメンテーションを参照してください。GDやTTFフォントを使用するには、PHPを設定する必要があることに注意してください。
A.
GDライブラリをサポートしたPHPでコンパイルしていません。詳細はPHPドキュメンテーションを参照してください。GDやTTFフォントを使用するには、PHPを設定する必要があることに注意してください。
Q. 「Unknown function imagecreatejpeg」と出力されます。
A.
お使いのPHPではJPEG形式がサポートされていません。詳細はPHPドキュメンテーションを参照してください。
A.
お使いのPHPではJPEG形式がサポートされていません。詳細はPHPドキュメンテーションを参照してください。
Q. 「Warning: MkDir failed (Permission denied) in jpgraph.php」と出力されます。
A.
パーミッションの問題です。キャッシュを使用するには、Apache/PHPがキャッシュディレクトリに書き込む権限を持たなければなりません。キャッシュディレクトリへの書き込み権限があるか確認してください。
A.
パーミッションの問題です。キャッシュを使用するには、Apache/PHPがキャッシュディレクトリに書き込む権限を持たなければなりません。キャッシュディレクトリへの書き込み権限があるか確認してください。
Q. グラフを生成しようとしたら「Fatal error: Undefined class name "parent" in jpgraph.php on line xxxx」というエラーが出ました。
A.
古いバージョンのPHPを使用している可能性があります。JpGraphの使用にはPHP4.3以上のバージョンが必要です。
A.
古いバージョンのPHPを使用している可能性があります。JpGraphの使用にはPHP4.3以上のバージョンが必要です。
Q. ガントチャートを作ろうとしたら、「Date is out side specified scale range」というメッセージが出ました。
A.
日付のスケールの値を最大値より大きく、または最小値より小さく設定しています。もし自動スケール機能を使用しているときにエラーメッセージが出るとしたら、初日や最終日の設定に空文字が使われているのかもしれません。
A.
日付のスケールの値を最大値より大きく、または最小値より小さく設定しています。もし自動スケール機能を使用しているときにエラーメッセージが出るとしたら、初日や最終日の設定に空文字が使われているのかもしれません。
Q. 「Invalid file handle in jpgraph.php at line XXXX」と出力されます。
A.
パーミッションの問題です。キャッシュディレクトリにJpGraphがアクセスして書き込む権利を持っているか確認してください。
A.
パーミッションの問題です。キャッシュディレクトリにJpGraphがアクセスして書き込む権利を持っているか確認してください。
Q. 「Fatal error: Call to undefined function: getcsimareas() in jpgraph.php on line XXXX」と出力されます。
A.
jpgraph.php内で、DEFINE("JPG_DEBUG",true)と設定してください。
A.
jpgraph.php内で、DEFINE("JPG_DEBUG",true)と設定してください。
Q. 「Fatal error: Call to undefined function: imagetypes()」と出力されます。
A.
GDライブラリが正しくインストールされていません。imagetypes()関数は標準のGD関数です。
A.
GDライブラリが正しくインストールされていません。imagetypes()関数は標準のGD関数です。
Q. Stroke関数でグラフを描画する際に何らかのエラーが発生している場合にはエラー画像が出力されますが、こちらを出力させない方法などはあるのでしょうか?もしくはStroke関数で出力を行う前にエラーが発生していることを確認するような関数などは用意されているのでしょうか?
A.
エラーの非表示方法、Stroke関数で出力を行う前にエラーを確認するための関数、方法はございません。
環境設定ファイル "jpg-config.inc"内で以下のように設定することで、エラー時に表示される画像を赤い×印で表示することは可能です。
・INSTALL_PHP_ERR_HANDLER", false
また、以下の設定で、エラーの表示をテキストベースに変えることは可能です。
・"USE_IMAGE_ERROR_HANDLER",false
A.
エラーの非表示方法、Stroke関数で出力を行う前にエラーを確認するための関数、方法はございません。
環境設定ファイル "jpg-config.inc"内で以下のように設定することで、エラー時に表示される画像を赤い×印で表示することは可能です。
・INSTALL_PHP_ERR_HANDLER", false
また、以下の設定で、エラーの表示をテキストベースに変えることは可能です。
・"USE_IMAGE_ERROR_HANDLER",false
グラフの整形について
Q. バープロットとラインプロットを混合させようとしたのですが、バープロットが中央に表示されずラベルも正しい位置に表示されません。
A.
バープロットを一番最後にGraphオブジェクトに追加しているかどうかを確認してください。この問題は、追加されたプロットが内部的にグラフに追加され、プロットの配置が変更されることで発生します。それぞれのプロットはグラフに追加されている他のプロットにかかわらず、直前に配置されたプロットの上に上書きされてしまいます。
A.
バープロットを一番最後にGraphオブジェクトに追加しているかどうかを確認してください。この問題は、追加されたプロットが内部的にグラフに追加され、プロットの配置が変更されることで発生します。それぞれのプロットはグラフに追加されている他のプロットにかかわらず、直前に配置されたプロットの上に上書きされてしまいます。
Q. TTFフォントのアンチエイリアス機能をオフにするにはどうしたらよいのですか?
A.
大変申し訳ありませんが、現在のバージョンのJpGraphではサポートされていません。
A.
大変申し訳ありませんが、現在のバージョンのJpGraphではサポートされていません。
Q. 自動スケール機能を使うと、Y軸がぎりぎりの範囲に指定されます。値の最大値もしくは最小値とY軸の最大値との間にもっとスペースを空けるにはどうしたらいいのですか?
A.
SetGrace()メソッドで、追加するスペースを指定できます。グラフの最大値/最小値と軸の限界値との間のスペースをパーセントで指定してください。例えば、$graph->yscale->SetGrace(10)と指定すると、10%の追加スペースが与えられます。
A.
SetGrace()メソッドで、追加するスペースを指定できます。グラフの最大値/最小値と軸の限界値との間のスペースをパーセントで指定してください。例えば、$graph->yscale->SetGrace(10)と指定すると、10%の追加スペースが与えられます。
Q. 最大値を取り扱う自動スケール機能を使用したいのですが、Y軸のスタートを0以外に指定する方法はありますか?
A.
SetAutoMin()メソッドを使用してください。
...
$graph = new Graph(400,350);
$graph->SetScale("intlin");
$graph->yaxis->scale->SetAutoMin(0);
...
ヒント:最大値を制限する必要があり、最小値を自動スケールで設定する場合は、SetAutoMax()関数を使用してください。
A.
SetAutoMin()メソッドを使用してください。
...
$graph = new Graph(400,350);
$graph->SetScale("intlin");
$graph->yaxis->scale->SetAutoMin(0);
...
ヒント:最大値を制限する必要があり、最小値を自動スケールで設定する場合は、SetAutoMax()関数を使用してください。
Q. X軸がY=0以外の位置でY軸と交差するように設定したいです。
A.
軸の位置を調整するにはAxis::SetPos()関数を使用します。この関数の引数にはX軸と交わるY軸の位置を数値で指定するか、minとmaxという特殊な定数で指定します。後者の場合、軸の位置はスケールの最小値もしくは最大値に設定されます。
例えば、
...
$graph->xaxis->SetPos("min");
...
はX軸の位置をY軸の値の最小値に設定します。
A.
軸の位置を調整するにはAxis::SetPos()関数を使用します。この関数の引数にはX軸と交わるY軸の位置を数値で指定するか、minとmaxという特殊な定数で指定します。後者の場合、軸の位置はスケールの最小値もしくは最大値に設定されます。
例えば、
...
$graph->xaxis->SetPos("min");
...
はX軸の位置をY軸の値の最小値に設定します。
Q. 画像に指定したカラーが正確に表示されません。
A.
これはGIF、PNG形式のカラーパレットの制限によるものです。もしアンチエイリアス機能や背景画像、グラデーションの塗りつぶしを使用していると、GDライブラリでサポートされているカラーパレットを埋め尽くしてしまう可能性があります。この場合、USE_APPROX_COLORS定数をFALSEに設定して、もう一度画像を生成してみてください。それでもなお「no more colors can be allocated this」というエラーメッセージが発生した場合は、GD 2にアップグレードする必要があるでしょう。
A.
これはGIF、PNG形式のカラーパレットの制限によるものです。もしアンチエイリアス機能や背景画像、グラデーションの塗りつぶしを使用していると、GDライブラリでサポートされているカラーパレットを埋め尽くしてしまう可能性があります。この場合、USE_APPROX_COLORS定数をFALSEに設定して、もう一度画像を生成してみてください。それでもなお「no more colors can be allocated this」というエラーメッセージが発生した場合は、GD 2にアップグレードする必要があるでしょう。
Q. 任意の角度でX軸にラベルを設置できますか?
A.
はい。ほとんどのテキストは任意の角度で設置することができます。例えば、ラベルを45度の角度で使用するには以下のように設定します。
...
$graph->xaxis->SetTickLabels($labels);
$graph->xaxis->SetLabelAngle(45);
...
NOTE:内部フォントは0から90度までの角度をサポートします。例えば45度やそれ以外の任意の角度に設定する必要があるのなら、TTFフォントを使用しなければなりません。
A.
はい。ほとんどのテキストは任意の角度で設置することができます。例えば、ラベルを45度の角度で使用するには以下のように設定します。
...
$graph->xaxis->SetTickLabels($labels);
$graph->xaxis->SetLabelAngle(45);
...
NOTE:内部フォントは0から90度までの角度をサポートします。例えば45度やそれ以外の任意の角度に設定する必要があるのなら、TTFフォントを使用しなければなりません。
Q. 自動スケール機能を整数のみに制限することはできますか?
A.
はい。整数(int)スケールを使用してください。
A.
はい。整数(int)スケールを使用してください。
Q. 横向きのバープロットを生成することはできますか?
A.
はい。普通にバープロットを作成し、Set90AndMargin()関数を呼び出してグラフを回転させるだけです。
A.
はい。普通にバープロットを作成し、Set90AndMargin()関数を呼び出してグラフを回転させるだけです。
Q. 線の太さ(Line weight)の変更が私のグラフでは反映されないようです。私は太い線に指定したのに細い線のままです。
A.
アンチエイリアス機能が使用されている可能性があります。アンチエイリアスが設定されている場合、線の太さの設定は効果が現れません。
A.
アンチエイリアス機能が使用されている可能性があります。アンチエイリアスが設定されている場合、線の太さの設定は効果が現れません。
Q. Y軸とY軸のタイトルの間にもっとスペースを空けるにはどうしたらいいのですか?
A.
Axis::SetTitleMargin()関数を使用してください。例えば、Y軸タイトルに対して25ピクセルの余白を取るには、以下のように指定します。
...
$mygraph->yaxis->SetTitleMargin(25);
...
A.
Axis::SetTitleMargin()関数を使用してください。例えば、Y軸タイトルに対して25ピクセルの余白を取るには、以下のように指定します。
...
$mygraph->yaxis->SetTitleMargin(25);
...
Q. ラインプロットやバープロット、散布プロットでX、Y両方の値をデータポイントの上に表示するにはどうしたらいよいのですか?
A.
値のフォーマット用コールバック関数を使用します。コールバック関数にはそれぞれのデータポイントが必要で、Yの値を引数として渡します。X値を表示するためにも、コールバック関数を使用する必要があります。
...
$datay = array(...);
$datax = array(...);
$idx=0;
function xyCallback($yval) {
global $datax, $idx;
return '('.$datax[$idx++].", $yval)";
}
...
$graph = new Graph(...);
$graph->SetScale("intlin");
$p1 = new LinePlot($datay,$datax);
$lineplot->value->SetFormatCallback('xyCallback');
$p1->value->Show();
...
$graph->Stroke();
A.
値のフォーマット用コールバック関数を使用します。コールバック関数にはそれぞれのデータポイントが必要で、Yの値を引数として渡します。X値を表示するためにも、コールバック関数を使用する必要があります。
...
$datay = array(...);
$datax = array(...);
$idx=0;
function xyCallback($yval) {
global $datax, $idx;
return '('.$datax[$idx++].", $yval)";
}
...
$graph = new Graph(...);
$graph->SetScale("intlin");
$p1 = new LinePlot($datay,$datax);
$lineplot->value->SetFormatCallback('xyCallback');
$p1->value->Show();
...
$graph->Stroke();
Q. JpGraphでストックボックスチャート(open、close、high、low)を表示することはできますか?
A.
はい。StockPlot()グラフを作成します。
A.
はい。StockPlot()グラフを作成します。
Q. 指定した凡例を凡例表で改行させることはできますか?
A.
はい。バージョン1.8から複数行のテキストが完全にサポートされました。テキストを二重引用符「"」で囲んで改行コードを入れるだけです。
A.
はい。バージョン1.8から複数行のテキストが完全にサポートされました。テキストを二重引用符「"」で囲んで改行コードを入れるだけです。
Q. Unicode文字を表示するにはどうしたらいいのですか?
A.
&#XXXXコーディングを文字列で使用してください。XXXXはUnicodeの16進数の値です。
A.
&#XXXXコーディングを文字列で使用してください。XXXXはUnicodeの16進数の値です。
Q. 背景画像が正確に表示されません。ただの黒い四角になってしまいます。
A.
おそらく古いバージョンのGDを使用しています。背景画像はTrueColorモードでのみ使用できます(USE_TRUECOLOR定数をTRUEに設定してください)。背景画像がPNG形式で無い場合は使用できるという報告もあります。
A.
おそらく古いバージョンのGDを使用しています。背景画像はTrueColorモードでのみ使用できます(USE_TRUECOLOR定数をTRUEに設定してください)。背景画像がPNG形式で無い場合は使用できるという報告もあります。
Q. バープロットでそれぞれのバーに色を付けるにはどうすればよいのですか?
A.
下記のようにBarPlot::SetColor()関数で引数に配列を指定してください。
...
$mybarplot->SetColor(array("red","green","blue","gray"));
...
A.
下記のようにBarPlot::SetColor()関数で引数に配列を指定してください。
...
$mybarplot->SetColor(array("red","green","blue","gray"));
...
Q. 軸タイトルの位置を調整するにはどうしたらよいのですか?
A.
タイトルを指定するときに位置調整パラメーターを加えてください。下記のようにhigh、low、centerのうち一つを選択してください。
$mygraph->xaxis->SetTitle("mytitle","high");
$mygraph->xaxis->SetTitle("mytitle","center");
$mygraph->xaxis->SetTitle("mytitle","low");
A.
タイトルを指定するときに位置調整パラメーターを加えてください。下記のようにhigh、low、centerのうち一つを選択してください。
$mygraph->xaxis->SetTitle("mytitle","high");
$mygraph->xaxis->SetTitle("mytitle","center");
$mygraph->xaxis->SetTitle("mytitle","low");
Q. JPEG、GIF、PNGなど画像の形式を変えるにはどうしたらいいのですか?
A.
Image::SetImgFormat()関数を実行時に使用してください。jpg-config.php内のDEFAULT_GFORMAT定数で初期値を変更することもできます。
デフォルトでは、使用可能な形式が自動的に選択されるauto形式に設定されています。例えば、JPEG形式で出力するには下記のように設定します。
$graph->img->SetImgFormat('jpeg');
A.
Image::SetImgFormat()関数を実行時に使用してください。jpg-config.php内のDEFAULT_GFORMAT定数で初期値を変更することもできます。
デフォルトでは、使用可能な形式が自動的に選択されるauto形式に設定されています。例えば、JPEG形式で出力するには下記のように設定します。
$graph->img->SetImgFormat('jpeg');
Q. 凡例のフォントを変更するにはどうすればよいのですか?
A.
Legend::SetFont()関数を下のように使用してください。
$graph->legend->SetFont(FF_FONT1,FS_BOLD);
A.
Legend::SetFont()関数を下のように使用してください。
$graph->legend->SetFont(FF_FONT1,FS_BOLD);
Q. 複数行のテキストを回転させたとき、行揃えを指定したにも関わらずテキストが常に左寄せ状態になってしまいます。回転していない状態のテキストでは正確に表示されるようです。問題は何でしょうか?
A.
これは現在の実装の制限です。テキストを回転した場合、常に左揃えが使用されます。
A.
これは現在の実装の制限です。テキストを回転した場合、常に左揃えが使用されます。
Q. データポイントの数が膨大なので、ラベルが重なり合って表示されてしまいます。ラベルを表示する周期を設定することはできますか?
A.
はい。多くのユーザーが行き詰まるのは、x周期でラベルを表示されている場合でも、ラベル配列には全てのデータポイントを含まなければならないことです。
膨大な数のデータを表示する場合にラベルを表示すると、ラベルが重なりあってしまい読めなくなってしまいます。この問題は、Axis::SetTextTickInterval()関数を使用して、n周期で目盛りとラベルを表示するように指定することで解決できます。以下に例を示します。
...
// X軸の設定
$graph->xaxis->SetTickLabels($datax);
$graph->xaxis->SetTextTickInterval( ... );
...
A.
はい。多くのユーザーが行き詰まるのは、x周期でラベルを表示されている場合でも、ラベル配列には全てのデータポイントを含まなければならないことです。
膨大な数のデータを表示する場合にラベルを表示すると、ラベルが重なりあってしまい読めなくなってしまいます。この問題は、Axis::SetTextTickInterval()関数を使用して、n周期で目盛りとラベルを表示するように指定することで解決できます。以下に例を示します。
...
// X軸の設定
$graph->xaxis->SetTickLabels($datax);
$graph->xaxis->SetTextTickInterval( ... );
...
Q. ラベルを1000ごとにカンマで分離して表示するにはどうしたらよいのですか?
A.
最も簡単な方法は、PHPに組み込まれているnumber_format()関数をコールバック関数として使用することです。
例えば、ラインプロットにこのフォーマットを使用して値を表示させるには、コールバック関数を次のように設定してください。
...
$lineplot->value->SetFormatCallback("number_format");
...
代わりにY軸のラベルにこのようなフォーマットを使用したい場合は、次のように設定してください。
...
$graph->yaxis->SetLabelFormatCallback("number_format");
...
A.
最も簡単な方法は、PHPに組み込まれているnumber_format()関数をコールバック関数として使用することです。
例えば、ラインプロットにこのフォーマットを使用して値を表示させるには、コールバック関数を次のように設定してください。
...
$lineplot->value->SetFormatCallback("number_format");
...
代わりにY軸のラベルにこのようなフォーマットを使用したい場合は、次のように設定してください。
...
$graph->yaxis->SetLabelFormatCallback("number_format");
...
Q. フォントを日本語に設定しているのに、X軸のラベルが日本語で表示されません。
A.
JpGraphではタイトル、軸、凡例など、それぞれにフォントを設定することができます。
そのため、タイトル、X軸等を日本語化するには以下のようなスクリプトを記述する必要があります。
$graph->title->SetFont(FF_GOTHIC);
$graph->subtitle->SetFont(FF_GOTHIC);
$graph->xaxis->SetFont(FF_GOTHIC);
$graph->yaxis->SetFont(FF_GOTHIC);
A.
JpGraphではタイトル、軸、凡例など、それぞれにフォントを設定することができます。
そのため、タイトル、X軸等を日本語化するには以下のようなスクリプトを記述する必要があります。
$graph->title->SetFont(FF_GOTHIC);
$graph->subtitle->SetFont(FF_GOTHIC);
$graph->xaxis->SetFont(FF_GOTHIC);
$graph->yaxis->SetFont(FF_GOTHIC);
Q. 複合プロットを使用し、右側の2つ目のY軸にAddY2関数でプロットを追加すると、このプロットが常に一番手前に表示されてしまいます。これを他のプロットよりも後ろに表示させることはできますか?
A.
申し訳ございませんが、現在のバージョンではこの問題を解決する方法はありません。
A.
申し訳ございませんが、現在のバージョンではこの問題を解決する方法はありません。
Q. IE v5やv6で生成したグラフを保存する場合、BMP形式でしか選択できないのですが、JPEGやPNGで保存する方法はありますか?
A.
これは、IEでのHTTPヘッダの処理方法によるバグです。デフォルトでは、ライブラリは、HTTPがサーバにリクエストを送るようにに、ブラウザに命令するため、非キャッシュのヘッダが送信されるように設定されています。この設定は、通常グラフスクリプトが同じ名前をもっているので必要ですが、グラフは変更される場合もあり、設定を毎回変更するのは面倒です。なので、ライブラリに非キャッシュヘッダを送信しないように設定する必要があります。方法は以下のとおりです。
<pre><code>...
$graph->img->SetExpired(false);
$graph->Stroke();
</code></pre>
A.
これは、IEでのHTTPヘッダの処理方法によるバグです。デフォルトでは、ライブラリは、HTTPがサーバにリクエストを送るようにに、ブラウザに命令するため、非キャッシュのヘッダが送信されるように設定されています。この設定は、通常グラフスクリプトが同じ名前をもっているので必要ですが、グラフは変更される場合もあり、設定を毎回変更するのは面倒です。なので、ライブラリに非キャッシュヘッダを送信しないように設定する必要があります。方法は以下のとおりです。
<pre><code>...
$graph->img->SetExpired(false);
$graph->Stroke();
</code></pre>
Q. レーダープロットの軸タイトルが日本語化できません
A.
レーダープロットでは以下の2行を追加することで軸タイトルを日本語化することが可能です。
$graph->axis->SetFont(FF_GOTHIC);
$graph->axis->title->SetFont(FF_GOTHIC);
A.
レーダープロットでは以下の2行を追加することで軸タイトルを日本語化することが可能です。
$graph->axis->SetFont(FF_GOTHIC);
$graph->axis->title->SetFont(FF_GOTHIC);
Q. グラフの値を非表示にすることはできますか?
A.
以下の行を追加することで、グラフの値を非表示にすることが可能です。
$graph->axis->HideLabels();
A.
以下の行を追加することで、グラフの値を非表示にすることが可能です。
$graph->axis->HideLabels();
Q. 折れ線グラフでデータを表示し、任意のデータの場所へ新たな画像(例えば丸印など)を加える事は可能でしょうか?
A.
折れ線グラフのデータの場所に、決まったプロットマーカー(画像)を表示することは可能でございます。
この場合、すべてのデータに表示されます。
A.
折れ線グラフのデータの場所に、決まったプロットマーカー(画像)を表示することは可能でございます。
この場合、すべてのデータに表示されます。
Q. 軸タイトルを改行させる方法を知りたい。Set($title)以降でエスケープされていると思うのですがそのやり方がわからない為それ以前に挿入した\nも"\n"もそのまま出力されてしまいました。
A.
送信元の文字列内に記述する "\n" を "%0D%0A" と変更することで改行が可能になるかと思います。
A.
送信元の文字列内に記述する "\n" を "%0D%0A" と変更することで改行が可能になるかと思います。
Q. レーダーチャートに関して、軸のタイトルのフォントを変更するにはどうすれば良いのでしょうか?
A.
JpGraphではJタイトル、軸、凡例など、それぞれにフォントを設定することができます。
そのため、タイトル、X軸、Y軸を日本語化するには以下のようなスクリプトを記述する必要があります。
$graph->title->SetFont(FF_GOTHIC);
$graph->xaxis->SetFont(FF_GOTHIC);
$graph->yaxis->SetFont(FF_GOTHIC);
A.
JpGraphではJタイトル、軸、凡例など、それぞれにフォントを設定することができます。
そのため、タイトル、X軸、Y軸を日本語化するには以下のようなスクリプトを記述する必要があります。
$graph->title->SetFont(FF_GOTHIC);
$graph->xaxis->SetFont(FF_GOTHIC);
$graph->yaxis->SetFont(FF_GOTHIC);
Q. ラベル表示のときに、パーセンテージの低いものがいくつか存在すると、ラベルが重なって表示されてしまうのですが、これを回避する方法はありますか?(重ならないような位置にラベルを移動し、対応が分かりにくくなるような位置関係の場合にはガイドラインを引くなど)
A.
JpGraph1.18以降の2Dの円プロットの場合のみに限られますが、引き出し線を引くことは可能です。
$plot = new PiePlot($data);
$plot->SetGuideLines();
$plot->SetGuideLinesAdjust(1.5);
とすることで、ガイドラインを引くことができます。
詳しくは、jpgraph/src/Example/のpielabelsex2.php、pielabelsex3.php、pielabelsex4.phpがこのサンプルとなっていますのでご覧下さい。
A.
JpGraph1.18以降の2Dの円プロットの場合のみに限られますが、引き出し線を引くことは可能です。
$plot = new PiePlot($data);
$plot->SetGuideLines();
$plot->SetGuideLinesAdjust(1.5);
とすることで、ガイドラインを引くことができます。
詳しくは、jpgraph/src/Example/のpielabelsex2.php、pielabelsex3.php、pielabelsex4.phpがこのサンプルとなっていますのでご覧下さい。
バーコードについて
Q. バーコード生成ライブラリとしての機能を使いたいと思っておりますが、NW-7には対応していますでしょうか?
A.
はい、NW-7に対応しております。
JpGraphが対応しているバーコードの種類は、以下の通りとなっております。
・UPC A
・UPC E
・EAN 128
・EAN 13
・EAN 8
・CODE 11 (USD-8)
・CODE 39
・CODE 128
・Industrial 2 of 5
・Interleaved 2 of 5
・Codabar (NW-7)
・Bookland (ISBN)
A.
はい、NW-7に対応しております。
JpGraphが対応しているバーコードの種類は、以下の通りとなっております。
・UPC A
・UPC E
・EAN 128
・EAN 13
・EAN 8
・CODE 11 (USD-8)
・CODE 39
・CODE 128
・Industrial 2 of 5
・Interleaved 2 of 5
・Codabar (NW-7)
・Bookland (ISBN)
Q. JANコードを有する商用サイトの管理機能としてバーコードを印刷できますか?
A.
JpGraph Pro版はJANコードに対応しておりますので、バーコードの印刷は可能でございます。
A.
JpGraph Pro版はJANコードに対応しておりますので、バーコードの印刷は可能でございます。
レーダーチャートについて
Q. JpGraphコミュニティ版を使用してレーダーチャートグラフの作成を行いたいと思っているのですが、グラフの目盛りで表示される数字を非表示にする方法はありますでしょうか?
A.
目盛りの数字を非表示するためには、一番簡単な方法としまして、jpgraph_radar.php ファイルの、113行目の
$label=$aScale->scale[0]+$this->major_step;
と、129行目
$label += $this->major_step;
の2行をはずしてしてご確認ください。
A.
目盛りの数字を非表示するためには、一番簡単な方法としまして、jpgraph_radar.php ファイルの、113行目の
$label=$aScale->scale[0]+$this->major_step;
と、129行目
$label += $this->major_step;
の2行をはずしてしてご確認ください。
Q. レーダーチャートにおけるプロットの数値の表示は出来ないのでしょうか?RadarPlot::value::Show();を試してみましたが利用できないようでした。利用できる出来る方法があればお教えいただければと思います。
A.
大変申し訳ないのですが、レーダーチャートにおけるプロットの数値を表示することはできません。
A.
大変申し訳ないのですが、レーダーチャートにおけるプロットの数値を表示することはできません。
全般的な質問
Q. Windows/Unix/Linux等でJpGraphを使用することはできますか?
A.
はい。ライブラリ自体はOSに依存しません。JpGraphは、バージョン4.3以上のPHPと、それをサポートするWebサーバー、GDライブラリがインストールされている環境で動作します。ただし、UnixとWindowsでは、パスの記述方式などが若干異なります('/'や'\'など)ので、ご注意ください。
A.
はい。ライブラリ自体はOSに依存しません。JpGraphは、バージョン4.3以上のPHPと、それをサポートするWebサーバー、GDライブラリがインストールされている環境で動作します。ただし、UnixとWindowsでは、パスの記述方式などが若干異なります('/'や'\'など)ので、ご注意ください。
Q. 私の環境ではPHPの書き込みが許可されていないため、JpGraphのキャッシュ機能を使用することができません。キャッシュ機能を完全にオフにする方法はありますか?
A.
はい。jpg-config.php内で定義されている USE_CACHE 定数をFALSEに設定してください。この方法で、Graph()関数にファイル名が指定された場合でも、キャッシュの作成はスキップされます。Graph()関数の引数にファイル名を指定しないことによって、これを回避することもできます。
A.
はい。jpg-config.php内で定義されている USE_CACHE 定数をFALSEに設定してください。この方法で、Graph()関数にファイル名が指定された場合でも、キャッシュの作成はスキップされます。Graph()関数の引数にファイル名を指定しないことによって、これを回避することもできます。
Q. サンプルの多くのGraph()関数内で、第3引数に "auto" が設定されていますが、これはどういう意味でしょうか?
A.
Graph()における3番目の引数はキャッシュファイル名であり、JpGraphのキャッシュ機能を使用しない場合は必要ありません。autoと指定することで、キャッシュファイル名はスクリプトファイルの名前に基づいて自動的に作成されます。
A.
Graph()における3番目の引数はキャッシュファイル名であり、JpGraphのキャッシュ機能を使用しない場合は必要ありません。autoと指定することで、キャッシュファイル名はスクリプトファイルの名前に基づいて自動的に作成されます。
Q. クライアントサイドイメージマップ機能が動きません。
A.
クライアントサイドイメージマップ機能を使うには、キャッシュ機能を調整する必要があります。キャッシュ用ディレクトリの設定などを見直してください。
A.
クライアントサイドイメージマップ機能を使うには、キャッシュ機能を調整する必要があります。キャッシュ用ディレクトリの設定などを見直してください。
Q. testsuit_jpgraph.phpを実行すると、"Due to insufficient permission the source files can't be automatically created"という警告が出ます。
A.
これは深刻な問題ではありません。この機能を使用したい場合は、Apacheにディレクトリへの書き込み権限を与えてください。
A.
これは深刻な問題ではありません。この機能を使用したい場合は、Apacheにディレクトリへの書き込み権限を与えてください。
Q. グラフ作成スクリプトにデータを送るにはどのような方法がありますか?
A.
3通りの方法があります。
・ファイルからデータを読みこむ
・DBからデータを読みこむ
・<img>タグにより、GET変数を使って読み込む
他にも、セッションを使う方法も考えられますが、大きなデータセットに対しては、データベースやファイルから読み込むのが現実的でしょう。
A.
3通りの方法があります。
・ファイルからデータを読みこむ
・DBからデータを読みこむ
・<img>タグにより、GET変数を使って読み込む
他にも、セッションを使う方法も考えられますが、大きなデータセットに対しては、データベースやファイルから読み込むのが現実的でしょう。
Q. MySQLからグラフ作成のスクリプトにどのようにしてデータを渡したらよいのですか?
A.
JpGraphにデータ配列を渡す場合、空の変数と文字列に注意してください。JpGraphは文字列をグラフにできないため、JpGraphに渡された値は有効な数値データでなければなりません。
A.
JpGraphにデータ配列を渡す場合、空の変数と文字列に注意してください。JpGraphは文字列をグラフにできないため、JpGraphに渡された値は有効な数値データでなければなりません。
Q. データを変更したのに画像が更新されません。古い画像がブラウザに表示されてしまいます。
A.
あなたが見ているのはキャッシュされた画像です。設定にもよりますが、ブラウザがキャッシュされた画像を持っているか、あなたが誤ってライブラリに組み込まれているキャッシュシステムを使用している可能性があります。
・ブラウザのキャッシュを修復するには
ブラウザはスクリプト名が同じだとキャッシュされた画像を表示してしまいます。これを修復するにはブラウザのイメージキャッシング機能を調整する必要があります。
よく用いられる方法として、文字列などを付加したダミーのURLを使用する方法があります。この方法を使うと、ブラウザは常に新しいURLを参照し、キャッシュを更新します。たとえば、以下のように記述します。
echo ('<img src="graphscript.php?' .microtime(). '">');
・ライブラリキャッシュを修復する
JpGraph内蔵のキャッシュ機能を使用している可能性があります。この場合は、
・Graph()関数を呼び出すとき、第3引数にキャッシュファイル名を指定しないでください。
・jpg-config.inc内で定義されてあるREAD_CACHE定数をFALSEに設定し、キャッシュの読み込みを停止させます。
・jpg-config.phpのUSE_CACHEをFALSEに設定し、キャッシュの読み込みと書き込みを停止させます。
A.
あなたが見ているのはキャッシュされた画像です。設定にもよりますが、ブラウザがキャッシュされた画像を持っているか、あなたが誤ってライブラリに組み込まれているキャッシュシステムを使用している可能性があります。
・ブラウザのキャッシュを修復するには
ブラウザはスクリプト名が同じだとキャッシュされた画像を表示してしまいます。これを修復するにはブラウザのイメージキャッシング機能を調整する必要があります。
よく用いられる方法として、文字列などを付加したダミーのURLを使用する方法があります。この方法を使うと、ブラウザは常に新しいURLを参照し、キャッシュを更新します。たとえば、以下のように記述します。
echo ('<img src="graphscript.php?' .microtime(). '">');
・ライブラリキャッシュを修復する
JpGraph内蔵のキャッシュ機能を使用している可能性があります。この場合は、
・Graph()関数を呼び出すとき、第3引数にキャッシュファイル名を指定しないでください。
・jpg-config.inc内で定義されてあるREAD_CACHE定数をFALSEに設定し、キャッシュの読み込みを停止させます。
・jpg-config.phpのUSE_CACHEをFALSEに設定し、キャッシュの読み込みと書き込みを停止させます。
Q. ブラウザに画像を出力するのではなく、画像ファイルを直接出力させることはできますか?
A.
はい。Graph::Stroke()の引数にファイル名を指定します。たとえば、tmpディレクトリに画像を保存する場合は、以下のように指定します。
$myGraph->Stroke("/tmp/myimage.png")
注意:ファイルの末尾は、あなたが指定した画像の形式に合わせる必要があります。
A.
はい。Graph::Stroke()の引数にファイル名を指定します。たとえば、tmpディレクトリに画像を保存する場合は、以下のように指定します。
$myGraph->Stroke("/tmp/myimage.png")
注意:ファイルの末尾は、あなたが指定した画像の形式に合わせる必要があります。
Q. QPL制約を受けず、完全なサポートを受けられるJpGraphはありますか?
A.
はい。商用利用にはJpGraphのエンタープライズ版を購入する必要があります。これによりJpGraphの商用利用が可能になります。
A.
はい。商用利用にはJpGraphのエンタープライズ版を購入する必要があります。これによりJpGraphの商用利用が可能になります。
Q. エラーメッセージが出ず、画像も何も表示されません。
A.
あなたが使用しているブラウザに依存した問題かもしれません。もしくはスクリプトの実行に長時間かかっていないか確認してください。この場合は、php.iniで指定されているPHPスクリプトのタイムアウト制限に引っかかっている可能性があります。set_time_limit()関数を呼び出して、タイムアウトの制限値を調整してください。
そうでない場合は、サーバーがクラッシュした可能性があります。これは古いバージョンのPHPが使用された場合に発生する可能性があります。
A.
あなたが使用しているブラウザに依存した問題かもしれません。もしくはスクリプトの実行に長時間かかっていないか確認してください。この場合は、php.iniで指定されているPHPスクリプトのタイムアウト制限に引っかかっている可能性があります。set_time_limit()関数を呼び出して、タイムアウトの制限値を調整してください。
そうでない場合は、サーバーがクラッシュした可能性があります。これは古いバージョンのPHPが使用された場合に発生する可能性があります。
Q. 生成された画像をブラウザ上で見ることができるのに、印刷することができません。
A.
ブラウザに依存している可能性があります。いくつかのブラウザではオンラインで生成された画像や、*.jpg、*.pngなどのファイル形式の画像を印刷することができません。ブラウザやそのバージョンによって印刷できるものもあればできないものもあります。印刷が必要な場合、画像をディスク上に保存した後でブラウザに読み込ませ印刷という方法でご対応ください。
A.
ブラウザに依存している可能性があります。いくつかのブラウザではオンラインで生成された画像や、*.jpg、*.pngなどのファイル形式の画像を印刷することができません。ブラウザやそのバージョンによって印刷できるものもあればできないものもあります。印刷が必要な場合、画像をディスク上に保存した後でブラウザに読み込ませ印刷という方法でご対応ください。
Q. 1000個ほどのデータポイントがあるグラフを作成したら、空のページが表示されました。JpGraphには表示できるデータポイントの数に制限があるのですか?
A.
いいえ、そのような制限はありません。おそらく、スクリプトがphp.iniで指定された制限時間を超えるほど長い時間を要したために、PHPがスクリプトの実行を中断させたのでしょう。10,000個以上のデータポイントがあったとしてもJpGraphは稼働しますが、重いデータ解析をWebサーバー上で実行するのはあまりよい方法ではありません。
ほかの理由としては、php.iniに記述されたメモリの使用制限を使い果たしてしまったことが考えられます。多くの初期設定では8MBと低めに設定されていますので、最低でも16MBに増やしてみてください。1,000個ものデータポイントを使用するような複雑なグラフでは、それ以上の値に設定する必要があるかもしれません。
A.
いいえ、そのような制限はありません。おそらく、スクリプトがphp.iniで指定された制限時間を超えるほど長い時間を要したために、PHPがスクリプトの実行を中断させたのでしょう。10,000個以上のデータポイントがあったとしてもJpGraphは稼働しますが、重いデータ解析をWebサーバー上で実行するのはあまりよい方法ではありません。
ほかの理由としては、php.iniに記述されたメモリの使用制限を使い果たしてしまったことが考えられます。多くの初期設定では8MBと低めに設定されていますので、最低でも16MBに増やしてみてください。1,000個ものデータポイントを使用するような複雑なグラフでは、それ以上の値に設定する必要があるかもしれません。
Q. 生成した画像をブラウザで表示させる代わりにユーザーにダウンロードさせるにはどうしたらいいのですか?
A.
画像生成のコードを以下のように変更してください。
...
$im=$graph->Stroke(_IMG_HANDLER);
$filename="chart";
$file_type = "image/png";
$file_ending = "png";
$filename=$filename.".".$file_ending;
header("Content-Type: application/$file_type");
header("Content-Disposition: attachment; filename=".$filename);
header("Pragma: no-cache"); header("Expires: 0");
ImagePNG($im);
A.
画像生成のコードを以下のように変更してください。
...
$im=$graph->Stroke(_IMG_HANDLER);
$filename="chart";
$file_type = "image/png";
$file_ending = "png";
$filename=$filename.".".$file_ending;
header("Content-Type: application/$file_type");
header("Content-Disposition: attachment; filename=".$filename);
header("Pragma: no-cache"); header("Expires: 0");
ImagePNG($im);
Q. IE v5、v6を使用しているのですが、生成したグラフを保存するときBMP形式しか選択できません。JPEGやPNG形式で保存する方法はありますか?
A.
これはIEがHTTP headerを処理する際に発生するバグです。デフォルトでは、ライブラリは、HTTPがサーバにリクエストを送るようにブラウザに命令するため、 no-cache header を送信するように設定されています。グラフ描画スクリプトは通常は同じ名前を使用しているのでこの設定が必要となりますが、グラフに変更があった場合に、一度、ライブラリが no-cache header を送らないように設定することで問題を解決することができます。方法は以下のとおりです。
$graph->img->SetExpired(false);
$graph->Stroke();
SetExpired(false) と設定することで、ライブラリが、expired headerを送らないように設定することができます。
A.
これはIEがHTTP headerを処理する際に発生するバグです。デフォルトでは、ライブラリは、HTTPがサーバにリクエストを送るようにブラウザに命令するため、 no-cache header を送信するように設定されています。グラフ描画スクリプトは通常は同じ名前を使用しているのでこの設定が必要となりますが、グラフに変更があった場合に、一度、ライブラリが no-cache header を送らないように設定することで問題を解決することができます。方法は以下のとおりです。
$graph->img->SetExpired(false);
$graph->Stroke();
SetExpired(false) と設定することで、ライブラリが、expired headerを送らないように設定することができます。
Q. JpGraphのガントチャートで、左側のバータイトルにうまく日本語が表示されません。プログラムの方では$graph->yaxis->SetFont(FF_GOTHIC);と記述していますがうまくいきません。
A.
$graph->yaxis->SetFont(FF_GOTHIC);
の代わりに、以下のコードを使用してください。
$activity->title->SetFont(FF_PGOTHIC);
A.
$graph->yaxis->SetFont(FF_GOTHIC);
の代わりに、以下のコードを使用してください。
$activity->title->SetFont(FF_PGOTHIC);
Q. 出力する折れ線グラフ画像を、背景が透明なpng画像として出力したいのですが出力可能でしょうか?
A.
申し訳ございませんが、JpGraphでは背景を透明な画像として出力する方法はございません。
A.
申し訳ございませんが、JpGraphでは背景を透明な画像として出力する方法はございません。
Q. バープロットのグラフでX軸 Y軸の項目名が数値として、値がプラスの場合:黒文字、マイナスの場合:赤文字としたいのでいですが、可能でしょうか。また、バーに表示されている数値に対しても、プラスの場合:黒文字,マイナスの場合:赤文字と表現することは可能でしょうか。
A.
JpGraphでは各項目の色を個別に設定することはできません。
これらの機能をつけたい場合は、ご自分でJpGraphのソースコードを修正していただくことになります。
その代わり、バープロットでは各バーごとに色を設定することは可能です。
$bplot = new BarPlot($data);
$bplot->SetFillColor(array('red','red','red','red','red','blue','red') );
このようにすると6番目のバーのみ青く表示することができます。
A.
JpGraphでは各項目の色を個別に設定することはできません。
これらの機能をつけたい場合は、ご自分でJpGraphのソースコードを修正していただくことになります。
その代わり、バープロットでは各バーごとに色を設定することは可能です。
$bplot = new BarPlot($data);
$bplot->SetFillColor(array('red','red','red','red','red','blue','red') );
このようにすると6番目のバーのみ青く表示することができます。
Q. Web、HTMLなどが将来バージョンアップされた場合に、追随する予定はございますか?また、Windows OSが将来バーションアップされた場合に、追随する予定はございますか?
A.
JpGraphの製作はスウェーデンのAditus社で行われており、弊社ではそれをローカライズし、日本で販売しております。そのため、将来のJpGraphの開発状況は全てAditus社の決定によるため、弊社で正確なお返事をお返しすることはできかねます。
A.
JpGraphの製作はスウェーデンのAditus社で行われており、弊社ではそれをローカライズし、日本で販売しております。そのため、将来のJpGraphの開発状況は全てAditus社の決定によるため、弊社で正確なお返事をお返しすることはできかねます。
Q. Windows 64BitOSへ追随する予定はございますか?
A.
はい。現状のJpGraphでも64BitOSでグラフを出力することが可能です。
A.
はい。現状のJpGraphでも64BitOSでグラフを出力することが可能です。
Q. 英語、日本語表記に対応していますか?
A.
はい。両方とも対応しております。
日本語のTrueTypeフォントさえ用意していただければ自由に使用することができます。無償のTrueTypeフォントも提供されていますので、詳しくは下記URLの「JpGraphの日本語化」をご覧ください。
http://www.asial.co.jp/jpgraph/japanese.php
A.
はい。両方とも対応しております。
日本語のTrueTypeフォントさえ用意していただければ自由に使用することができます。無償のTrueTypeフォントも提供されていますので、詳しくは下記URLの「JpGraphの日本語化」をご覧ください。
http://www.asial.co.jp/jpgraph/japanese.php
Q. お客様情報から逆にライセンスキーを検索していただくことは可能でしょうか?
A.
ライセンスキーを検索することは可能でございますが、ご購入時に登録いただいたライセンス情報が必要となります。
必要な情報は、以下の情報となります。
(1) 会社名
(2) 管理者氏名
(3) E-mail アドレス(管理者のもの)
A.
ライセンスキーを検索することは可能でございますが、ご購入時に登録いただいたライセンス情報が必要となります。
必要な情報は、以下の情報となります。
(1) 会社名
(2) 管理者氏名
(3) E-mail アドレス(管理者のもの)
Q. 画面出力Stroke()もファイル出力Stroke("test.jpeg")もできております。レンタルサーバでは、画面出力するのですが、ファイルtest.jpegを出力しません。考えられる原因は何でしょうか?
A.
レンタルサーバーにGD、またはGD2ライブラリがインストールされていない可能性がございます。
もう一度、GDライブラリが正しくインストールされているかご確認ください。
A.
レンタルサーバーにGD、またはGD2ライブラリがインストールされていない可能性がございます。
もう一度、GDライブラリが正しくインストールされているかご確認ください。
Q. レーダーチャートの軸タイトルを日本語で表示する際の問題。 jpgraph_radar.phpの273行目に$this->title->SetFont(FF_PGOTHIC,FS_NORMAL,10); を挿入して日本語を表示させておりますが、日本語と半角英数字で文字揃えがかなりずれるようです。何か良い解決法はあるのでしょうか?
A.
jpgraph_radar.php内を編集したためにおかしくなってしまった可能性もございますので、jpgraph_radar.php内を変更せずに日本語化していただければと思います。
レーダーチャートの軸タイトルの日本語化は少々特殊な操作が必要になりますが、以下の方法で可能になります。
$graph->axis->SetFont(FF_PGOTHIC);
$graph->axis->title->SetFont(FF_PGOTHIC);
この2行をこの順番でソースコード内に追加することで、jpgraph_radar.phpを変更することなく軸タイトルを日本語化することが可能になります。
A.
jpgraph_radar.php内を編集したためにおかしくなってしまった可能性もございますので、jpgraph_radar.php内を変更せずに日本語化していただければと思います。
レーダーチャートの軸タイトルの日本語化は少々特殊な操作が必要になりますが、以下の方法で可能になります。
$graph->axis->SetFont(FF_PGOTHIC);
$graph->axis->title->SetFont(FF_PGOTHIC);
この2行をこの順番でソースコード内に追加することで、jpgraph_radar.phpを変更することなく軸タイトルを日本語化することが可能になります。
Q. JpGraphで生成した画像をIEで表示し、「名前をつけて画像を保存」とした際、強制的にBMP形式で保存されてしまいます。他の画像形式で保存することはできないのでしょうか。
A.
これはJpGraphの問題ではなくIEのバグですが、以下の方法で画像形式を指定することができます。
・・・
$graph->img->SetImgFormat("png"); //画像形式を指定
$graph->img->SetExpired(false);
$graph->Stroke();
A.
これはJpGraphの問題ではなくIEのバグですが、以下の方法で画像形式を指定することができます。
・・・
$graph->img->SetImgFormat("png"); //画像形式を指定
$graph->img->SetExpired(false);
$graph->Stroke();
Q. MySQL等のデータベースに格納されてあるデータをPHPで計算、その計算結果をホームページ内の任意の場所にグラフ出力、と言った形での利用は可能でしょうか?
A.
可能です。
JpGraphではグラフを生成する際、最も単純な例として、
$graph = new Graph(400,300);
$data = array(1,2,30,82,1,49);
$plot = new LinePlot($data);
$graph->Add($plot);
$graph->Stroke();
のように、配列に入れたデータから直接グラフを生成できます。
この場合、MySQLから取り出したデータを配列の形式にして$dataとして使用しますと、動的にグラフを表示することができます。
このグラフを生成するスクリプトを、<img src="graph.php">として呼び出すと、HTML上に埋め込むこともできます。
A.
可能です。
JpGraphではグラフを生成する際、最も単純な例として、
$graph = new Graph(400,300);
$data = array(1,2,30,82,1,49);
$plot = new LinePlot($data);
$graph->Add($plot);
$graph->Stroke();
のように、配列に入れたデータから直接グラフを生成できます。
この場合、MySQLから取り出したデータを配列の形式にして$dataとして使用しますと、動的にグラフを表示することができます。
このグラフを生成するスクリプトを、<img src="graph.php">として呼び出すと、HTML上に埋め込むこともできます。
Q. 出力されたグラフに対して、アシアルもしくはAditus Consultingに著作権等は発生しますか?
A.
いいえ。発生しません。生成した画像はご自由にお使い下さい。
ただし、商用利用を目的として使用する場合はプロフェッショナル版のご購入が必要となります。
A.
いいえ。発生しません。生成した画像はご自由にお使い下さい。
ただし、商用利用を目的として使用する場合はプロフェッショナル版のご購入が必要となります。
Q. ラインプロットやスプライン曲線のグラフで、グラフの上にカーソルを置いた場合に数値が表示される機能はありますか。
A.
申し訳ありませんがJpGraphはグラフの画像を生成するためのライブラリーとなっております。
そのため、イメージマップ機能などは付いておりますが、グラフ上にカーソルを置いた際に数値を表示させる機能は付属されておりません。
A.
申し訳ありませんがJpGraphはグラフの画像を生成するためのライブラリーとなっております。
そのため、イメージマップ機能などは付いておりますが、グラフ上にカーソルを置いた際に数値を表示させる機能は付属されておりません。
Q. PHP5にインストール可能なJpGraphのバージョンは、3.xのみなのでしょうか?
A.
はい。3.x系列のみで、1.x系列のバージョンをPHP5で動作させることはできません。
A.
はい。3.x系列のみで、1.x系列のバージョンをPHP5で動作させることはできません。
Q. 「コミュニティや教育などの非営利目的での使用に限り、無料でコミュニティ版をご使用いただけます」とありますが、企業内での業務利用は可能でしょうか?
A.
大変申し訳ありませんが、社内業務で使用される場合は、ライセンスをご購入される必要があります。
会社法人でご使用される場合に非営利となるのは、ライブラリの評価を行う場合などかなり限定的な状況となってしまいます。
A.
大変申し訳ありませんが、社内業務で使用される場合は、ライセンスをご購入される必要があります。
会社法人でご使用される場合に非営利となるのは、ライブラリの評価を行う場合などかなり限定的な状況となってしまいます。
Q. 「コミュニティや教育などの非営利目的での使用に限り、無料でコミュニティ版をご使用いただけます」とありますが、学習用としてコンテストなど他者に公開する場合は学校や個人で使用することができるでしょうか。
A.
学習用で非営利目的である限り、次の条件でご使用頂くことができます。JpGraphで作成されたグラフの一部(または周囲のどこか)に、
produced by JpGraph と表示し、
そのテキストに
http://asial.co.jp/jpgraph/
へのリンクを貼付ける、または並べて表示してください。
A.
学習用で非営利目的である限り、次の条件でご使用頂くことができます。JpGraphで作成されたグラフの一部(または周囲のどこか)に、
produced by JpGraph と表示し、
そのテキストに
http://asial.co.jp/jpgraph/
へのリンクを貼付ける、または並べて表示してください。
円プロットについて
Q. 3D円プロットでスライスを分離させるにはどうしたらよいのですか?
A.
Pie3DPlot::ExplodeSlice()メソッドか、Pie3DPlot::Explode()メソッドのどちらかを使用してください。
A.
Pie3DPlot::ExplodeSlice()メソッドか、Pie3DPlot::Explode()メソッドのどちらかを使用してください。
Q. スライスごとに値を表示するにはどうすればいいのですか?
A.
PiePlot::value::Show()メソッドを使用してください。
A.
PiePlot::value::Show()メソッドを使用してください。
Q. 絶対値表記とパーセント表記を切り替えるにはどうすればよいのですか?
A.
PiePlot::SetValueType($aType)メソッドを使用し、$aTypeにPIE_VALUE_ABSかPIE_VALUE_PERCENTAGEのどちらかを入れてください。値を表示させたり隠したりするにはプロットのvalueプロパティを利用してください。文字列の特殊な形式が使用したい場合は、フォーマット文字列も指定する必要があります。初期設定で数字は表示されます。もしパーセント記号を使いたい場合は、フォーマット文字列として「%d%%」を指定します。
...
$mypieplot->value->SetFormat("%d%%");
$mypieplot->value->Show(); // Defaults to TRUE
$mypieplot->SetValueType(PIE_VALUE_PERCENTAGE);
...
A.
PiePlot::SetValueType($aType)メソッドを使用し、$aTypeにPIE_VALUE_ABSかPIE_VALUE_PERCENTAGEのどちらかを入れてください。値を表示させたり隠したりするにはプロットのvalueプロパティを利用してください。文字列の特殊な形式が使用したい場合は、フォーマット文字列も指定する必要があります。初期設定で数字は表示されます。もしパーセント記号を使いたい場合は、フォーマット文字列として「%d%%」を指定します。
...
$mypieplot->value->SetFormat("%d%%");
$mypieplot->value->Show(); // Defaults to TRUE
$mypieplot->SetValueType(PIE_VALUE_PERCENTAGE);
...
Q. パーセントの代わりに実際の値をスライスに表示させることはできますか?
A.
はい。以下のように使用してください。
...
$pieplot->SetLabelType(PIE_LABEL_ABS);
...
その後ラベルが隠れていないか確認してください。
A.
はい。以下のように使用してください。
...
$pieplot->SetLabelType(PIE_LABEL_ABS);
...
その後ラベルが隠れていないか確認してください。
Q. 最初のスライスの角度を調整するにはどのようにすればよいのですか?
A.
以下のように設定してください。
...
$pieplot->SetStartAngle(45);
...
A.
以下のように設定してください。
...
$pieplot->SetStartAngle(45);
...
御購入
Q. 製品を購入する際の支払い方法はどのようなものがありますか?
A.
弊社では2通りの支払い方法をご用意させて頂いております。「銀行振込による支払」と「クレジットカードによる支払」でございます。
クレジットカードですとVisa, Master Card, DC, Diners, セントラルファイナンス, 国内信販の各種カードが使用できます。
A.
弊社では2通りの支払い方法をご用意させて頂いております。「銀行振込による支払」と「クレジットカードによる支払」でございます。
クレジットカードですとVisa, Master Card, DC, Diners, セントラルファイナンス, 国内信販の各種カードが使用できます。
Q. どのようにしたら製品を購入することができますか?
A.
以下のURLより、ご希望のエディションやライセンス形態を選択してご購入手続きを行ってください。
https://www.asial.co.jp/phpshop/shop_detail.php?v=jpgraph
A.
以下のURLより、ご希望のエディションやライセンス形態を選択してご購入手続きを行ってください。
https://www.asial.co.jp/phpshop/shop_detail.php?v=jpgraph
Q. 領収書が必要なのですが、どうすればいいですか?
A.
銀行振り込みの場合は、振込み明細が領収証の代わりとしてご利用になれます。また、弊社が発行する領収書が必要な方は、ご購入画面の途中に、「領収書の送付先の住所を記入する欄」が表示されますので、そちらに必要事項をご記入下さい。
領収書・納品書共に、別途、郵送させていただきます。
A.
銀行振り込みの場合は、振込み明細が領収証の代わりとしてご利用になれます。また、弊社が発行する領収書が必要な方は、ご購入画面の途中に、「領収書の送付先の住所を記入する欄」が表示されますので、そちらに必要事項をご記入下さい。
領収書・納品書共に、別途、郵送させていただきます。
Q. パッケージ版とダウンロード版では何が異なりますか?
A.
ご提供する製品自体はパッケージ版、ダウンロード版共に、内容に相違はございません。
パッケージ版では、包装されたパッケージをご指定の住所にご送付いたします。一方、ダウンロード版では、弊社が指定するURLより製品をダウンロードしていただきます。
商品のお届けは、入金確認後、ダウンロード版で3営業日以内、パッケージ版で5営業日以内となっております。
A.
ご提供する製品自体はパッケージ版、ダウンロード版共に、内容に相違はございません。
パッケージ版では、包装されたパッケージをご指定の住所にご送付いたします。一方、ダウンロード版では、弊社が指定するURLより製品をダウンロードしていただきます。
商品のお届けは、入金確認後、ダウンロード版で3営業日以内、パッケージ版で5営業日以内となっております。
Q. 見積書、または請求書が必要なのですが、どうすれば良いですか?
A.
御見積書、または御請求書は、ホームページ上から、お申込みいただけます。
御見積書、または御請求書が必要な場合は、左側メニューの「見積もり・ご購入」をクリックして「JpGraphのご購入・お見積もり画面」を開いて下さい。
必要製品の数量を変更の上、[見積・請求書を発行する] ボタンを押してください。あとは、画面の流れに従って、送付先住所などをご記入下さい。
[見積書・請求書の発行] ボタンをクリックして、お申し込みが完了した後、弊社より、別途、見積書、または請求書を郵送させていただきます。
A.
御見積書、または御請求書は、ホームページ上から、お申込みいただけます。
御見積書、または御請求書が必要な場合は、左側メニューの「見積もり・ご購入」をクリックして「JpGraphのご購入・お見積もり画面」を開いて下さい。
必要製品の数量を変更の上、[見積・請求書を発行する] ボタンを押してください。あとは、画面の流れに従って、送付先住所などをご記入下さい。
[見積書・請求書の発行] ボタンをクリックして、お申し込みが完了した後、弊社より、別途、見積書、または請求書を郵送させていただきます。
Q. 購入申込み後の、「具体的な購入の流れ」を教えて下さい。
A.
弊社ホームページより御購入のお申込みをいただきましたら、購入内容が記載された、確認メールをご登録いただいた E-mail アドレスに送信致します。
製品のお届けは、入金後、および、ライセンス登録後となっております。
JpGraph ソフトウェアでは、商品をお届けする前にライセンスの登録が必要となります。
ライセンスの登録については、FAQの「ライセンス登録について教えてください。」をご参照下さい。
入金・ライセンス登録がお済みのお客様に対して、すぐに商品をお届けする手配をさせていただきます。納期については、入金確認、およびライセンス登録手続きが共に終了した後、ダウンロード版で2営業日以内、パッケージで5営業日以内です。
上記の「購入の流れ」を変更したいお客様(たとえば、掛け売りをご希望のお客様)は 、お手数ですが、shop@asial.co.jp までご連絡下さい。
A.
弊社ホームページより御購入のお申込みをいただきましたら、購入内容が記載された、確認メールをご登録いただいた E-mail アドレスに送信致します。
製品のお届けは、入金後、および、ライセンス登録後となっております。
JpGraph ソフトウェアでは、商品をお届けする前にライセンスの登録が必要となります。
ライセンスの登録については、FAQの「ライセンス登録について教えてください。」をご参照下さい。
入金・ライセンス登録がお済みのお客様に対して、すぐに商品をお届けする手配をさせていただきます。納期については、入金確認、およびライセンス登録手続きが共に終了した後、ダウンロード版で2営業日以内、パッケージで5営業日以内です。
上記の「購入の流れ」を変更したいお客様(たとえば、掛け売りをご希望のお客様)は 、お手数ですが、shop@asial.co.jp までご連絡下さい。
Q. ライセンス登録について教えてください。
A.
JpGraph は、製品をお届けする前にライセンス登録が必要となります。
ライセンス登録には、以下の情報が必要でございます。
(1) 会社名(日本語表記、英語表記共に)
(2) 管理者氏名(日本語表記、ローマ字表記共に)
(3) E-mail アドレス(管理者のもの)
法人契約の場合、ライセンス所有者は法人様であり、ライセンス管理者として、
どなたか担当者を決定して、ご連絡いただきます。
個人契約の場合、ライセンス所有者、管理者とも、個人様となります。
ライセンス登録の手順は以下の通りです。
1. ご購入手続き終了後に配信されます「購入控えメール」に、ライセンス登録フォームへのURLが記載されているので、そちらのURLにアクセスしてページを開いてください。
2. 必要な情報をライセンス登録フォームに入力し、登録を行ってください。
3. ライセンス情報を登録後、速やかにライセンスキーを発行し、ご購入方法に応じてメール(ダウンロード版)、または郵送(パッケージ版)でライセンス証書をご送付いたします。
A.
JpGraph は、製品をお届けする前にライセンス登録が必要となります。
ライセンス登録には、以下の情報が必要でございます。
(1) 会社名(日本語表記、英語表記共に)
(2) 管理者氏名(日本語表記、ローマ字表記共に)
(3) E-mail アドレス(管理者のもの)
法人契約の場合、ライセンス所有者は法人様であり、ライセンス管理者として、
どなたか担当者を決定して、ご連絡いただきます。
個人契約の場合、ライセンス所有者、管理者とも、個人様となります。
ライセンス登録の手順は以下の通りです。
1. ご購入手続き終了後に配信されます「購入控えメール」に、ライセンス登録フォームへのURLが記載されているので、そちらのURLにアクセスしてページを開いてください。
2. 必要な情報をライセンス登録フォームに入力し、登録を行ってください。
3. ライセンス情報を登録後、速やかにライセンスキーを発行し、ご購入方法に応じてメール(ダウンロード版)、または郵送(パッケージ版)でライセンス証書をご送付いたします。
Q. QRコードを作るためにはエンタープライズ版を買う必要があるのですか?
A.
QRコードに関しましては、「エンタープライズ版スタンダード」のみと機能となっとおりますため、エンタープライズ版をご購入頂く必要があります。
エンタープライズ版スタンダードの販売価格に関しましては、以下のURLよりご参照ください。
http://www.asial.co.jp/jpgraph/enterprise.php#standard
A.
QRコードに関しましては、「エンタープライズ版スタンダード」のみと機能となっとおりますため、エンタープライズ版をご購入頂く必要があります。
エンタープライズ版スタンダードの販売価格に関しましては、以下のURLよりご参照ください。
http://www.asial.co.jp/jpgraph/enterprise.php#standard
Q. 納品後、請求書をいただき銀行振込が可能でしょうか。可能であればどういった手続きを行えばよろしいですか。
A.
掛売りにも対応しております。
ですので、製品の納品後、入金いただくことも可能です。
以下のURLより通常の手続きを行っていただき、お手数ですが、備考欄に「掛売り対応」とご記入下さい。その際に、請求書の発行の有無も画面上よりご選択いただけます。
http://www.asial.co.jp/phpshop/shop_detail.php?v=jpgraph
また、JpGraphの場合、製品をお届けする前に、ライセンス登録を行っていただく必要がございます。
ライセンス登録に必要な情報は以下のとおりでございます。
法人契約の場合、ライセンス所有者は法人様であり、ライセンス管理者として、どなたか担当者を決定していただき、ご連絡いただいております。
個人契約の場合、ライセンス所有者、管理者とも、個人様となります。
ライセンス所有者・管理者のご登録情報として、以下の情報をいただいております。
(1) 会社名(日本語表記、英語表記共に)
(2) 管理者氏名(日本語表記、ローマ字表記共に)
(3) E-mail アドレス(管理者のもの)
A.
掛売りにも対応しております。
ですので、製品の納品後、入金いただくことも可能です。
以下のURLより通常の手続きを行っていただき、お手数ですが、備考欄に「掛売り対応」とご記入下さい。その際に、請求書の発行の有無も画面上よりご選択いただけます。
http://www.asial.co.jp/phpshop/shop_detail.php?v=jpgraph
また、JpGraphの場合、製品をお届けする前に、ライセンス登録を行っていただく必要がございます。
ライセンス登録に必要な情報は以下のとおりでございます。
法人契約の場合、ライセンス所有者は法人様であり、ライセンス管理者として、どなたか担当者を決定していただき、ご連絡いただいております。
個人契約の場合、ライセンス所有者、管理者とも、個人様となります。
ライセンス所有者・管理者のご登録情報として、以下の情報をいただいております。
(1) 会社名(日本語表記、英語表記共に)
(2) 管理者氏名(日本語表記、ローマ字表記共に)
(3) E-mail アドレス(管理者のもの)
Q. エンタープライズ版の購入を検討していますが、独自サーバーでなく、一般的なホスティングサービスの共有サーバーへインストールは可能でしょうか?
A.
JpGraphを動作させるには、①、②の動作環境が必要でございます。
① PHP 4.3以上、またはPHP5.1以上がインストールされている。
② GDライブラリがインストールされている(GDライブラリ2.0推奨)。
また、JpGraphで日本語を表示するには、③、④の要件が必要になります。
③ PHPで以下の設定がされていること。
■Linuxの場合
・PHPのcofigure に --enable-gd-jis-conv が設定されている。
■Windowsの場合
・php に mbstring が追加されている。
④ フォントが格納されたフォルダの絶対パスを知ることができるか。
※ 日本語表示設定をする際に、フォントが格納されたフォルダの絶対パスを指
定する必要があります。
①~④の条件が満たされる場合、JpGraphをご利用できるかと思います。
上記の条件を確認後、無料でダウンロードできるコミュニティ版をご使用になり、実際に、動作確認されることをお勧めいたします。
A.
JpGraphを動作させるには、①、②の動作環境が必要でございます。
① PHP 4.3以上、またはPHP5.1以上がインストールされている。
② GDライブラリがインストールされている(GDライブラリ2.0推奨)。
また、JpGraphで日本語を表示するには、③、④の要件が必要になります。
③ PHPで以下の設定がされていること。
■Linuxの場合
・PHPのcofigure に --enable-gd-jis-conv が設定されている。
■Windowsの場合
・php に mbstring が追加されている。
④ フォントが格納されたフォルダの絶対パスを知ることができるか。
※ 日本語表示設定をする際に、フォントが格納されたフォルダの絶対パスを指
定する必要があります。
①~④の条件が満たされる場合、JpGraphをご利用できるかと思います。
上記の条件を確認後、無料でダウンロードできるコミュニティ版をご使用になり、実際に、動作確認されることをお勧めいたします。
Q. 現在PHP4を使用しており導入後PHP5に切り替えた場合は、再度ライセンスの購入が必要になりますでしょうか?
A.
PHP5をお使いになる場合、JpGraph3.xをご購入頂く必要があります。JpGraph1.xはPHP4にのみ対応し、JpGraph3.xではPHP5.1から5.3にのみ対応しています。(JpGraph2.xではPHP4からPHP5.2まで対応しておりましたが現在販売しておりません。)
A.
PHP5をお使いになる場合、JpGraph3.xをご購入頂く必要があります。JpGraph1.xはPHP4にのみ対応し、JpGraph3.xではPHP5.1から5.3にのみ対応しています。(JpGraph2.xではPHP4からPHP5.2まで対応しておりましたが現在販売しておりません。)
折れ線グラフについて
Q. Jpgraphでは折れ線グラフのY軸は3つ以上の出力は不可能と認識しておりますが、もし、御社に改造を依頼した場合、受託していただく事は可能でしょうか?
A.
JpGraphのバージョン1.20から、Y軸の数が無制限で出力可能となっております。
A.
JpGraphのバージョン1.20から、Y軸の数が無制限で出力可能となっております。