グラフサンプル (No.-4) グラフ名: 画像名:sample12-h.gif CGI名:sample12.pl
sample12-h.gif


【要点】
(1)縦棒グラフ、横棒グラフ
   GD::Graph::bars;    #縦棒グラフ
   GD::Graph::hbars;   #横棒グラフ
  for my $my_graph (GD::Graph::bars->new, GD::Graph::hbars->new)
(2)目盛りの線を長く描く
 long_ticks      => 1, #true(=1)の場合、目盛りの線を
                       #軸いっぱいに描きます。
                       #デフォルトは0です。
                       #long_ticksが0の場合、tick_length
                       #の値で描かれます。
                       #tick_lengthのデフォルトは4です。
(3)Y軸目盛を描く
  y_max_value  => 40, #Y軸目盛の最大値(最小値は省略のため0)
  y_tick_number => 8, #Y塾目盛の数
  y_label_skip  => 2, #Y軸目盛を2つ毎に表示

(4)グラフに影をつける(現在、棒グラフ(bars/hbars)のみ)
  bar_spacing     => 3, #棒と棒との間を空間のピクセル数。
  shadow_depth    => 4, #影の深さ。正の値は右/下の影、
                        #負の値は左/上の影。
                        #デフォルトは0(影なし)。
  shadowclr       => 'dred', #影の色。GD::Graph::colour
                             #で定義されている色。
(5)私には理解できません...ごめんなさい!
 accent_treshold => 200,
(4)色について
  棒、線、点(マーカー)、円グラフ等の色は、dclrsで設定しますが、
  この例では、デフォルト値(lred lgreen lblue lyellow lpurple cyan lorange)
  により、棒はlred(赤)とlgreen(緑)で描かれます。(データセットの定義順に)
sample12.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';

my @data = ( 
    ["1st","2nd","3rd","4th","5th","6th","7th", "8th", "9th"],
    [    5,   12,   24,   33,   19,    8,    6,    15,    21],
    [    1,    2,    5,    6,    3,  1.5,    1,     3,     4],
);

my @names = qw/sample12 sample12-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           => 'Two data sets',
	long_ticks      => 1,
	y_max_value     => 40,
	y_tick_number   => 8,
	y_label_skip    => 2,
	bar_spacing     => 3,
	shadow_depth    => 4,

	accent_treshold => 200,

	transparent     => 0,
    );

    $my_graph->set_legend('Data set 1', 'Data set 2');
    $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(グラフ画像保存ルーチン)

最終更新日:2005.1.17