グラフサンプル (No.-13) グラフ名:棒グラフ 画像名:sample17.gif CGI名:sample17.pl
sample17.gif


【要点】
(1)縦棒グラフ、横棒グラフ
   GD::Graph::bars;    #縦棒グラフ
   GD::Graph::hbars;   #横棒グラフ
  for my $my_graph (GD::Graph::bars->new, GD::Graph::hbars->new)
(2)棒(バー)の描き方
  cumulate  => 1, #  1:データセットは互いの上に積み重なります。
                  #  棒グラフ、面グラフのみサポート
(3)棒を飾る
  dclrs => [ undef, (dgreen green) ], 
                     #棒の色を濃いグリーンとグリーンとします。
  borderclrs => [ undef, (black black) ],
                     #棒の境界線(縁)の色を黒とします。
sample17.pl

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

# Also see sample63

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/sample17 sample17-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        => 1,
	dclrs           => [ undef, qw(dgreen green) ],
	borderclrs      => [ undef, qw(black black) ],
	bar_spacing     => 4,

	transparent     => 0,
    );

    $my_graph->set_legend(undef, qw(low high));
    $my_graph->plot(\@data) or die $my_graph->error;
    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(グラフ画像保存ルーチン)

最終更新日:2005.1.17