■sample61.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)グラフの種類を指定する((1)項参照)
types => [ ( lines bars points area linespoints wrong_type ) ],
default_type => 'points', #混合グラフにおいてグラフの種類がわからなかった
#場合のグラフの種類。この例ではwrong_type 。
#デフォルトはlinesです。
(3)Y軸の目盛を描く(No21 sample41.gif-(2)参照)
y_max_value => 10, #Y軸目盛の最大値
y_min_value => -5, #Y軸目盛の最小値
y_tick_number => 3, #Y軸目盛の数
(4)目盛を描く間隔を指定する
y_label_skip => 1, #指定した数毎にY軸目盛の値を表示します。
#Y軸の場合、y_label_skipで指定します。
(5)目盛の値を描く描かないを指定する
x_plot_values => 0,
y_plot_values => 0,
# 0:X軸、Y軸の目盛の値が表示されません。 1:表示されます。(デフォルト)
(6)軸の線を描く、描かない、を制御する
long_ticks => 1, #true(=1)の場合、目盛りの線を軸いっぱいに描きます。
#デフォルトは0です。
x_ticks => 0, # 1:trueならば、X軸に目盛が描かれます。
#x_long_ticksとx_tick_lengthの値により描かれます。
# 0:X軸に目盛を描かない。
(7)色、点(マーカー)について(デフォルト値)
・色は(指定例. dclrs => [ qw (green pink blue cyan) ] )
dclrs(棒、線、点(マーカー)、円グラフ等色)が設定されていませんので
デフォルト値(lred lgreen lblue lyellow lpurple cyan lorange) により
色が、順に付いています。赤、グリーン、ブルー・・・。
・マーカーは(指定例. markers => [ 9, 10, 1, 7, 5 ] )
デフォルトの十字(3番目)と菱形(6番目)が使用されています。
# マーカーは、データセットとの対応で指定します。
#以下のマーカー数字で指定します。
# 1:塗りつぶされた四角(filled square)
# 2:四角(open square)
# 3:十字(horizontal cross)
# 4:対角線の十字(diagnal cross)
# 5:塗りつぶされた菱形(filled diamond)
# 6:菱形(open diamond)
# 7:塗りつぶされた丸(filled circle)
# 8:丸(open circle)
# 9:横線(horizontal line)
# 10:縦線(virtical line)
# デフォルトは[1,2,3,4,5,6,7,8]
|
|
■sample61.pl
chdir("C:\\Inetpub\\wwwroot\\uriage"); #カレントディレクトリ指定(IISの場合)
use lib 'C:/Inetpub/wwwroot/uriage'; #GD::Graphライブラリ格納フォルダ GD (固定)の場所
#
use GD::Graph::mixed;
require 'save.pl';
print STDERR "Processing sample61 (The error message is intended)\n";
my @data = (
["1st","2nd","3rd","4th","5th","6th","7th", "8th", "9th"],
[ 1, 2, 5, 6, 3, 1.5, -1, -3, -4],
[ -4, -3, 1, 1, -3, -1.5, -2, -1, 0],
[ 9, 8, 9, 8.4, 7.1, 7.5, 8, 3, -3],
[ 0.1, 0.2, 0.5, 0.4, 0.3, 0.5, 0.1, 0, 0.4],
[ -0.1, 2, 5, 4, -3, 2.5, 3.2, 4, -4],
[ -0.1, 2, 5, 4, -3, 2.5, 3.2, 4, -4],
);
my $my_graph = new GD::Graph::mixed();
$my_graph->set(
types => [ qw( lines bars points area linespoints wrong_type ) ],
default_type => 'points',
);
$my_graph->set(
x_label => 'X Label',
y_label => 'Y label',
title => 'A Mixed Type Graph',
y_max_value => 10,
y_min_value => -5,
y_tick_number => 3,
y_label_skip => 1,
x_plot_values => 0,
y_plot_values => 0,
long_ticks => 1,
x_ticks => 0,
legend_marker_width => 24,
line_width => 3,
marker_size => 5,
bar_spacing => 8,
transparent => 0,
);
$my_graph->set_legend( qw( one two three four five six ) );
$my_graph->plot(\@data) or die $my_graph->error;
save_chart($my_graph, 'sample61');
(参考)
●本ソースコードの1〜3行目(挿入)
1 chdir("C:\Inetpub\wwwroot\uriage"); #カレントディレクトリ指定(IISの場合)
2 use lib 'C:/Inetpub/wwwroot/uriage'; #GD::Graphライブラリ格納フォルダ GD (固定)の場所
3 #
Windows IIS 走行用に元ソースに挿入
●>save.pl(グラフ画像保存ルーチン)
|