[PHP-users 27839] JpGraphにおける、軸の最大値と最小値指定
naya
SNA02388 @ nifty.com
2005年 12月 14日 (水) 12:16:16 JST
こんにちは。nayaと申します。
JpGraphの散布図で、X軸 and/or Y軸の最大値と最小値の指定で困っているので
すが、下記の点につき、お心当たりがあったらアドバイスお願いします。まず、
$graph->SetScale("linlin"); // XもYも自動スケール
$graph->SetScale("linlin",0,100); // Y最小値,Y最大値のみ指定
$graph->SetScale("linlin",0,100,0,200); //Y最小値,Y最大値,X最小値,X最大値を指定
と指定できるようですが、これですと「Y軸は自動でX軸だけは指定」ができない
ように見受けます。この点、日本語マニュアルにも明記なかったので、勘で
$graph->SetScale("linlin",auto,auto,0,200);
などとしてみたら、希望する動作が得られました。しかし、少し凝って次のサン
プル(1)(2)を試すと、いずれも「最大値は最小値より大きくないといけない」と
エラーになります。
Graph::SetScale(): Specified Max value must be larger than the specifired Min value.
ただし、(2)の方については、本番環境では下記サンプルと同じデータ、および
同じスケール(1000,auto,auto,auto)という組み合わせでは、
Fatal error: Maximum execution time of 60 seconds exceeded in /usr/.../jpgraph.php on line xxx.
とタイムオーバーになり、エラー内容が異なります(サンプル(2)では再現せず)。
わたしの希望は、サンプル(1)も(2)も最小値は指定、最大値は自動判定して欲し
いというものですが、何か誤解してますでしょうか?よろしくお願い致します。
<?php
include ("../../JpGraph/jpgraph.php");
include ("../../JpGraph/jpgraph_scatter.php");
# サンプル(1)
$axis_x_min = 10; //X最小値
$axis_x_max = "auto"; //X最大値
$axis_y_min = "auto"; //Y最小値
$axis_y_max = "auto"; //Y最大値
# サンプル(2)
//$axis_x_min = 1000; //X最小値
//$axis_x_max = "auto"; //X最大値
//$axis_y_min = "auto"; //Y最小値
//$axis_y_max = "auto"; //Y最大値
$datax = array(10000,3400,4000,4500,8000,6000,6000,10000,7000);
$datay = array(3.56,3.98,4.05,3.74,3.87,4.12,6.19,6.17,3.51);
$graph = new Graph(800,600,"auto");
$graph->SetScale("linlin",$axis_y_min,$axis_y_max,$axis_x_min,$axis_x_max);
$sp1 = new ScatterPlot($datay,$datax);
$graph->Add($sp1);
$graph->Stroke();
?>
環境:
サーバー:FreeBSD 4.7、PHP4.3.11
--
naya,
SNA02388 @ nifty.com
PHP-users メーリングリストの案内