グラフサンプル (No.-24) グラフ名:折れ線グラフ 画像名:sample52.gif CGI名:sample52.pl
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(グラフ画像保存ルーチン)

別表 x_label_skipとx_tick_offsetの組み合わせによる目盛ラベルが表示される値(位置)
qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec) の例
単なる番号→ 1 2 3 4 5 6 7 8 9 10 11 12
X軸ラベルの値→ Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
オプションの設定値↓                        
例1 x_label_skip=3 但しx_tick_offsetは無指定              
                         
例2 x_label_skip=3 & x_tick_offset=1              
                         
例3 x_label_skip=3 & x_tick_offset=2                

最終更新日:2005.1.17