私は割り当てのためにPerlに小さなプログラムを書いています。私はPerlを初めて使っています。PerlのGD :: Graphが「無効なデータセット」について不平を言っているのはなぜですか?
私が書いたコードは私に必要な値とまったく同じものですが、棒グラフを作成する際にこのエラーが発生しています。
Invalid data set: 0 at line 67
67行目には、次のコードにコメントがあります。 x軸に保存されている
値は次のとおりです。
40 44 48 52 64 76 83 104 105 148 149 249 431 665 805 1420 1500
そしてY_AXISは以下のとおりです。
16 1 1 6 1 1 1 1 1 1 1 1 1 1 1 2 5
は、ここに私のコードです:
use GD::Graph::bars;
open(CHECKBOOK,"c:\\Perl\\bin\\ip_packet_trace1.txt");
my $counter = -1;
my @sizearray = {};
while ($record = <CHECKBOOK>) {
@array = split(/\t/,$record);
$counter++;
$sizearray[$counter] = $array[6];
}
$counter++;
my @array1 = sort {$a <=> $b} @sizearray;
print "$counter\n";
print "@array1\n";
my @freq = {0...0};
foreach $elem (@array1){
my $s = $freq[$elem]+1;
$freq[$elem] = $s;
}
my $size = @freq;
my @x_axis = {};
my @y_axis = {};
my $count2 = -1;
for($i = 1; $i < $size; $i++){
my $elem = $freq[$i];
if($elem and $elem > 0 ){
$count2++;
$x_axis[$count2] = $i;
$y_axis[$count2] = $elem;
}
}
print "@x_axis \n";
print "@y_axis \n";
my $mygraph = GD::Graph::bars->new(500, 300); # line 67
$mygraph->set(x_label => 'Month',
y_label => 'Number of Hits',
title => 'Number of Hits in Each Month in 2002',
) or warn $mygraph->error;
my @data = {@x_axis,@y_axis};
my $myimage = $mygraph->plot(\@data) or die $mygraph->error;
open(IMG, '>C:\\image\\file.gif') or die $!;
binmode IMG;
print IMG $myimage->gif;
close IMG;
太字でマークした行にコメントを追加しました(ただし、コードとして書式設定されているため太字ではありません)。しかし、私はあなたが間違った行をマークしたかもしれないと思います。私は - >プロットの行にエラーがあると思います。 –