グラフサンプル (No.-21) グラフ名:折れ線+点グラフ 画像名:sample41.gif CGI名:sample41.pl
sample41.gif


【要点】
(1)折れ線+点グラフを描く
   GD::Graph::linespoints;
(2)Y軸目盛を描く
  y_max_value => 80,  #Y軸目盛の最大値。最小値はy_min_value 
                      #で指定します。デフォルトはデータセット
                      #より自動計算されます。
  y_tick_number => 6, #Y軸目盛の数。下の基軸ところ(最小値)は
                      #数えない。デフォルトは、5です。
  y_label_skip => 2,  #指定した数毎にY軸目盛の値を表示します。
                      #X軸の場合、x_label_skipで指定します。

 #このサンプルでは、y_min_value が省略されています。
 #Y軸目盛の最小値は、データセットの最小値52より50になります。
 #従い、Y軸目盛は、最大値=80、最小値=50、
 #Y軸目盛の幅=(最大値−最小値)÷目盛の数=(80-50)÷6=5です。
 #y_label_skip=2のため、60,70,80毎に目盛の値が表示されます。
(3)undef(未定義)データポイントの線を断続させる
  skip_undef => 1, # 1:undef(未定義)データところは線を連続
                   #させません。
                   # 0:undef(未定義)データは飛ばし、線が連続
                   #します。(デフォルト)
                   #skip_undef=0の例は、No.22 sample42.gif参照。

sample41.pl

chdir("C:\\Inetpub\\wwwroot\\uriage"); #カレントディレクトリ指定(IISの場合)
use lib 'C:/Inetpub/wwwroot/uriage'; #GD::Graphライブラリ格納フォルダ GD (固定)の場所
#
use GD::Graph::linespoints;
require 'save.pl';

print STDERR "Processing sample41\n";

@data = ( 
    ["1st","2nd","3rd","4th","5th","6th","7th", "8th", "9th"],
    [undef,  52,  53,  54,  55,  56,  undef,  58,  59],
    [60,  61,  61,  undef,  68,  66,  65,  61, undef],
    [70,  undef,  71,  undef,  78,  undef,  75,  71, undef],
);

$my_graph = new GD::Graph::linespoints( );

$my_graph->set( 
	x_label => 'X Label',
	y_label => 'Y label',
	title => 'A Lines and Points Graph',
	y_max_value => 80,
	y_tick_number => 6,
	y_label_skip => 2,
	y_long_ticks => 1,
	x_tick_length => 2,
	markers => [ 1, 5 ],

	skip_undef => 1,

	transparent => 0,

) or warn $my_graph->error;

$my_graph->set_legend( 'data set 1', 'data set 2', 'data set 3' );
$my_graph->plot(\@data);
save_chart($my_graph, 'sample41');


(参考)
  ●本ソースコードの1〜3行目(挿入) 1 chdir("C:\Inetpub\wwwroot\uriage"); #カレントディレクトリ指定(IISの場合) 2 use lib 'C:/Inetpub/wwwroot/uriage'; #GD::Graphライブラリ格納フォルダ GD (固定)の場所 3 # Windows IIS 走行用に元ソースに挿入   ●>save.pl(グラフ画像保存ルーチン)

最終更新日:2005.1.17