■sample52.gif
【要点】
(1)折れ線グラフを描く
GD::Graph::lines;
(2)Y軸の目盛を描く(No21 sample41.gif-(2)参照)
y_max_value => 8,
y_min_value => -8,
y_tick_number => 16,
y_label_skip => 2,
(3)プラス・マイナス棒(バー)の描き方
zero_axis_only => 1, # 0:デフォルト。値1を読んで下さい。
# 1:Yの値が0の軸が描かれ、
# グラフの下の軸が描かれません。
# Xの値のラベルはYの値が0の軸に置かれます。
# このグラフではzero_axis_onlyは、
#省略しても良い。
(4)グラフキャンバスの軸の外枠線を線で描かない-箱状にしない
box_axis => 0, # 0:軸を箱状にしません。軸はY軸、X軸の基線
# のみが描かれます。
# 1:軸を箱状にします。軸の外枠線を線で描
# きます。デフォルトは1。
(5)軸ラベルの位置を決める
x_label_position => 1, # 0:左寄せ 1:右寄せ 1/2:中央揃え。
#0〜1の値で指定します。デフォルト: 3/4 。
y_label_position => 1, # 0:下詰め 1:上詰め 1/2:中央揃え。
#0〜1の値で指定します。デフォルト: 1/2 。
(6)X軸の目盛を描く(体裁を制御)
x_label_skip => 3, #指定した数毎にX軸目盛の値を表示します。
#Y軸の場合、y_label_skipで指定します。
# qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec) の例では、
# これらのうち、最初Jan そして3つ目毎Apr Jul Oct そして最後 Dec
# が表示されます。
x_tick_offset => 2, #最初の出力目盛をx_tick_offsetの値分飛ばします。
#x_label_skipとの組み合わせにより、制御します。
#下欄の別表参照。
|
|
■sample52.pl
chdir("C:\\Inetpub\\wwwroot\\uriage"); #カレントディレクトリ指定(IISの場合)
use lib 'C:/Inetpub/wwwroot/uriage'; #GD::Graphライブラリ格納フォルダ GD (固定)の場所
#
use GD::Graph::lines;
require 'save.pl';
print STDERR "Processing sample52\n";
@data = (
[ qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec) ],
[ reverse(4, 3, 5, 6, 3, 1.5, -1, -3, -4, -6, -7, -8)],
[ (4, 3, 5, 6, 3, 1.5, -1, -3, -4, -6, -7, -8)],
[ (2, 2, 2, 5, 5, 4.5,1.5, 2, 3, 5, 4, 3)],
);
$my_graph = new GD::Graph::lines();
$my_graph->set(
x_label => 'Month',
y_label => 'Measure of success',
title => 'A Simple Line Graph',
y_max_value => 8,
y_min_value => -8,
y_tick_number => 16,
y_label_skip => 2,
box_axis => 0,
line_width => 3,
zero_axis_only => 1,
x_label_position => 1,
y_label_position => 1,
x_label_skip => 3,
x_tick_offset => 2,
transparent => 0,
);
$my_graph->set_legend("Us", "Them", "Others");
$my_graph->plot(\@data);
save_chart($my_graph, 'sample52');
(参考)
●本ソースコードの1〜3行目(挿入)
1 chdir("C:\Inetpub\wwwroot\uriage"); #カレントディレクトリ指定(IISの場合)
2 use lib 'C:/Inetpub/wwwroot/uriage'; #GD::Graphライブラリ格納フォルダ GD (固定)の場所
3 #
Windows IIS 走行用に元ソースに挿入
●>save.pl(グラフ画像保存ルーチン)
|