0

好吧,我正在尝试在 Perl 中创建一个数组数组,以便与 GD::Graph 模块一起使用。而且我无法弄清楚为什么以下不是 GD::Graph 的有效数组数组。

my @t = (1, 2, 3, 4);
my @g = (2, 4, 5, 6);
my @data = (@t, @g);

我也尝试过构建如下数据,但它仍然不喜欢它。

my @data;
push @data, @t;
push @data, @g;

我想将我的值保存在单独的数组中,然后将它们与 GD::Graph 结合使用,因为这是我发现的最简单的方法,即使它很丑陋。我将如何创建一个与 GD::Graph 一起使用的有效结构,它是动态创建的?

它在这里抱怨它。

my $gd = $graph->plot(\@data) or die $graph->error;
4

2 回答 2

1

看起来 @data 只是一个包含 8 个元素的单维数组。

您可以使用匿名数组构造函数 [] 定义数组数组

my @data = (
    [1, 2, 3, 4],
    [2, 4, 5, 6]
);
于 2015-06-03T00:35:19.437 回答
0

对我来说,使用数组引用做到了

my @t = (1, 2, 3, 4);
my @g = (2, 4, 5, 6);
my @data = (\@t, \@g);

并绘制图表,例如:

my $graph = new GD::Graph::lines(800,600 );
my $gd = $graph->plot( \@data );
open OUT, ">","whatever.png" or die "Couldn't open for output: $!";
binmode(OUT);
print OUT $gd->png( );
close OUT;
于 2017-02-16T16:39:00.740 回答