■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(グラフ画像保存ルーチン)
|