■sample15.gif
【要点】
(1)縦棒グラフ、横棒グラフ
GD::Graph::bars; #縦棒グラフ
GD::Graph::hbars; #横棒グラフ
for my $my_graph (GD::Graph::bars->new, GD::Graph::hbars->new)
(2)棒(バー)の描き方
cumulate => 2, # 1:データセットは互いの上に積み重なります。
# 棒グラフ、面グラフのみサポート(1の誤り?)
(3)棒グラフの境界線
borderclrs => $my_graph->{dclrs},
#棒面の境界線をdclrsのデフォルトに
#設定しています。デフォルトは次のとおり。
# dclrs => [ qw(lred lgreen lblue lyellow lpurple cyan lorange) ]
#結果は、棒面の色とその境界線は同じ色です。
|
|
■sample15.pl
chdir("C:\\Inetpub\\wwwroot\\uriage"); #カレントディレクトリ指定(IISの場合)
use lib 'C:/Inetpub/wwwroot/uriage'; #GD::Graphライブラリ格納フォルダ GD (固定)の場所
#
use GD::Graph::bars;
use GD::Graph::hbars;
require 'save.pl';
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],
);
my @names = qw/sample15 sample15-h/;
for my $my_graph (GD::Graph::bars->new, GD::Graph::hbars->new)
{
my $name = shift @names;
print STDERR "Processing $name\n";
$my_graph->set(
x_label => 'X Label',
y_label => 'Y label',
title => 'Stacked Bars (incremental)',
#y_max_value => 50,
#y_tick_number => 10,
#y_label_skip => 2,
cumulate => 2,
borderclrs => $my_graph->{dclrs},
#cycle_clrs => 2,
bar_spacing => 4,
#shadow_depth => 4,
transparent => 0,
);
$my_graph->set_legend( qw(offset increment more));
$my_graph->plot(\@data);
save_chart($my_graph, $name);
}
(参考)
●本ソースコードの1〜3行目(挿入)
1 chdir("C:\Inetpub\wwwroot\uriage"); #カレントディレクトリ指定(IISの場合)
2 use lib 'C:/Inetpub/wwwroot/uriage'; #GD::Graphライブラリ格納フォルダ GD (固定)の場所
3 #
Windows IIS 走行用に元ソースに挿入
●>save.pl(グラフ画像保存ルーチン)
|