http://qs1969.pair.com?node_id=65732


in reply to Re: Question about using hash indexes with GD::Graph
in thread Question about using hash indexes with GD::Graph

I am still running into trouble with the data. I have changed the code to read like follows
my (@h,@c); push @h, $_->{'hour'} foreach(@{$data}); push @c, $_->{'count'} foreach(@{$data}); my $new = [ \@h, \@c]; print (\@new); #@data=(["1st","2nd","3rd"], # [9,4,7]); # I have a hash table with $data[$index]{'hour'} and $data[$index]{'c +ount'} # $graph= GD::Graph::lines->new(400,300); $graph->set( x_label => 'Hour', y_label => 'Transaction Volume', title => 'Number of transactions per hour', y_max_value => 20, y_label_skip => 1, y_tick_number => 1); #$gd = $graph->plot(\@data); open (IMG,'>file.png') or die $!; binmode IMG; print IMG $graph->plot(\@new)->png; close IMG;
but when I run it I still receive the same error. If I uncomment the @data lines and plot to @data instead of @new it works. Any ideas?

Replies are listed 'Best First'.
Re: Re: Re: Question about using hash indexes with GD::Graph
by orbital (Scribe) on Mar 20, 2001 at 20:53 UTC
    because $new is an array reference, so all you need to do is fill it in as $graph->plot($new)->png;
      Still getting the same error with the follwing line as the only change.
      print IMG $graph->plot($new)->png;
Re: Re: Re: Question about using hash indexes with GD::Graph
by arturo (Vicar) on Mar 20, 2001 at 20:56 UTC
    $new is a already a reference to an array consisting of two arrayrefs. There is no such thing (yet) as @new in the code snippet you've posted. Try it with
    print IMG $graph->plot($new)->png;
    (instead of the \@new you have there now) and see what happens.

    use strict should have caught this. You *are* using, strict, aren't you?

    Philosophy can be made out of anything. Or less -- Jerry A. Fodor