perl の GD::Graph モジュールを使って、グラフ描画 CGI を作成してみました。
use GD::Graph;
# 座標 (1, 10), (2, 5), (3, 7), (4, 3), (5, 4)
my @adata = (
['1', undef, '3', undef, '5'], # X 座標(値を表示しない場合は undef)
[ 10, 5, 7, 3, 4] # Y 座標
);
# 折れ線グラフ 幅600 x 高400
my $graph = new GD::Graph::lines(600, 400);
# 各種パラメータの設定
$graph->set(
title => undef, # グラフタイトル
x_label => undef, # X 軸ラベル
y_label => undef, # Y 軸ラベル
y_min_value => 0, # Y 軸最小値
y_max_value => 100, # Y 軸最大値
y_tick_number => 0, # Y 軸目盛りの数
y_number_format => sub { '' } # Y 軸目盛りに表示する値のフォーマット
);
my $gd = $graph->plot(\@adata);
binmode(STDOUT, ':raw');
print($gd->gif());
$graph->set() のパラメータの y_number_format には '%04d' のように、printf に用いるフォーマットを与えます。
例えば、'%04d' とすれば上位の桁が 0 で埋められた 4 桁の整数が表示されます。そのため、'' (長さ0の文字列) を指定すれば目盛りが表示されなくなるわけです。
use GD::Graph;
# 座標 (1, 10), (2, 5), (3, 7), (4, 3), (5, 4)
my @adata = (
['1', undef, '3', undef, '5'], # X 座標(値を表示しない場合は undef)
[ 10, 5, 7, 3, 4] # Y 座標
);
# 折れ線グラフ 幅600 x 高400
my $graph = new GD::Graph::lines(600, 400);
# 各種パラメータの設定
$graph->set(
title => undef, # グラフタイトル
x_label => undef, # X 軸ラベル
y_label => undef, # Y 軸ラベル
y_min_value => 0, # Y 軸最小値
y_max_value => 100, # Y 軸最大値
y_tick_number => 0, # Y 軸目盛りの数
y_number_format => sub { '' } # Y 軸目盛りに表示する値のフォーマット
);
my $gd = $graph->plot(\@adata);
binmode(STDOUT, ':raw');
print($gd->gif());
$graph->set() のパラメータの y_number_format には '%04d' のように、printf に用いるフォーマットを与えます。
例えば、'%04d' とすれば上位の桁が 0 で埋められた 4 桁の整数が表示されます。そのため、'' (長さ0の文字列) を指定すれば目盛りが表示されなくなるわけです。