■sample63.gif
【要点】
(1)混合グラフを書く
GD::Graph::mixed; #円グラフ以外の組み合わせでグラフを
#描きます。
my $my_graph = new GD::Graph::mixed();
#円グラフ以外(太字はグラフの種類)とは、
#GD::Graph::lines:折れ線グラフ
#GD::Graph::bars and GD::Graph::bars:棒グラフ
#GD::Graph::points:点グラフ
#GD::Graph::linespoints:折れ線と点のグラフ
#GD::Graph::area:面グラフ です。
(2)Y軸目盛を描く
y_min_value => 0, #Y軸目盛の最小値
y_max_value => 50, #Y軸目盛の最大値
y_tick_number => 10, #Y軸目盛の数
y_label_skip => 2, #Y軸目盛の値を2つ毎に表示
(3)棒の描き方
cumulate => 1, # 1:データセットは互いの上に積み重なります(積み上げ)。
# 棒グラフ、面グラフのみサポート。overwriteも参照して下さい。
(参考:棒の描き方)
overwrite => 1, # 0:違うデータセットの棒は
# 隙間無く表示(デフォルト)
# 1:互いの前に重なる
# 2:上に積み重ね(この場合
# cumulateを使用する)
(4)グラフの種類を指定する
types => [qw(area bars bars lines)], #面、棒、棒、折れ線
(5)色を指定する
dclrs => [undef, (lgray gray red)], #棒、線、点、円グラフ等の背景色
#面は未定義 最初の棒はlgray(#bfbfbf) 次の棒はgray(#7f7f7f) 折れ線は赤
#lgray(#bfbfbf):薄い灰色
borderclrs => [undef, (black black black)], #棒グラフの棒面の境界線
#面は未定義 後は黒 黒 黒 (最後の黒は、折れ線のため無意味)
|
|
■sample63.pl
chdir("C:\\Inetpub\\wwwroot\\uriage"); #カレントディレクトリ指定(IISの場合)
use lib 'C:/Inetpub/wwwroot/uriage'; #GD::Graphライブラリ格納フォルダ GD (固定)の場所
#
use strict;
use GD::Graph::mixed;
require 'save.pl';
# Also see sample17
print STDERR "Processing sample63\n";
my @data = (
["1st","2nd","3rd","4th","5th","6th","7th", "8th", "9th"],
[ 11, 12, 15, 16, 3, 1.5, 1, 3, 4],
[ 5, 12, 24, 15, 19, 8, 6, 15, 21],
[ 12, 3, 1, 5, 12, 9, 16, 25, 11],
[ 16, 24, 39, 31, 22, 9.5, 7, 18, 25],
);
my $my_graph = new GD::Graph::mixed();
$my_graph->set(
x_label => 'X Label',
y_label => 'Y label',
title => 'Emulation of error bars',
y_min_value => 0,
y_max_value => 50,
y_tick_number => 10,
y_label_skip => 2,
cumulate => 1,
types => [qw(area bars bars lines)],
dclrs => [undef, qw(lgray gray red)],
borderclrs => [undef, qw(black black black)],
line_width => 2,
bar_width => 4,
transparent => 0,
)
or warn $my_graph->error;
$my_graph->set_legend(undef, qw(increment more));
$my_graph->plot(\@data) or die $my_graph->error;
save_chart($my_graph, 'sample63');
(参考)
●本ソースコードの1〜3行目(挿入)
1 chdir("C:\Inetpub\wwwroot\uriage"); #カレントディレクトリ指定(IISの場合)
2 use lib 'C:/Inetpub/wwwroot/uriage'; #GD::Graphライブラリ格納フォルダ GD (固定)の場所
3 #
Windows IIS 走行用に元ソースに挿入
●>save.pl(グラフ画像保存ルーチン)
|