Hi, Thanks for helping!
The ting is that my age file only contain age values like this: 22 22 23 24 26 
26 26 26 28 28 30 30, and I have no input for a second array!
I want these age values to be the bars(x-values), and a want the number of 
times each of these are represented, to be the y-values.
Could this be done with the script I am working on, or must I do some changes 
in order to make this work? 

X Alekto



Den 7. apr. 2010 kl. 11.44 skrev Jins Thomas:

> Hi Alekto,
> 
> How your file content looks like? Please paste few lines from your input file 
> age.
> 
> Are you supplying X axis and Y axis values properly, basically you should 
> supply two arrays, one for X axis and and one for Y axis.
> 
> See the example in 
> 
> http://gdgraph.com/samples/sample11.html
> 
> 
> Cheers
> Jins
> 
> 
> 
> On Wed, Apr 7, 2010 at 12:34 PM, alekto <alekto.antarct...@gmail.com> wrote:
> Hi guys!
> Tnx for answering! Of course it was the /misplacing of the \ that caused my 
> error;)
> But after changing this error I still get an other error msg like this:
> 
> Invalid data set: 1 at ./bars.pl line 90, <FILE> line 1.
> 
> which is referring to this line in my script:
> 
> my $gd = $graph->plot(\...@array) or die $graph->error;
> 
> I'm not sure what this error means??
> 
> Xalekto
> 
> 
> 
> Den 7. apr. 2010 kl. 07.23 skrev Jins Thomas:
> 
> > Hi alekto,
> >
> > My guess
> >
> > Main error is due to
> > my $gd = $graph->plot(/@array)  (Line 90) Did u meant \ (bless operator) 
> > instead of / . Same is being repeated  in printHistogram(/@array
> >
> > Also hope last } was for printHistogram subroutine was copy paste problem 
> > while emailing. Other than that this looks fine.
> >
> > Let me know you require some further help on this.
> >
> >
> > Cheers
> > Jins Thomas
> >
> >
> >
> > On Wed, Apr 7, 2010 at 9:20 AM, alekto <alekto.antarct...@gmail.com> wrote:
> > Hi,
> > I got this scrip that is suppsed to use the use the Getopt::Std; and 
> > GD::Graph::bars; to input generate an array from a file (age).
> > With this array, the GD::Graph::bars is going to create a subroutine 
> > printHistogram() which generates a png file based on a supplied array.
> > The signature of the method could be like this: 
> > printHistogram(\...@histy,"$filename",$histmin,$histmax,"Title");
> >
> > I manage to generate the array from the input file, but it seems like there 
> > is something wrong with my subroutine at the end, I have been using the 
> > examples at cpan.org as an templat for this subroutine.
> > Following is the error msg, as well as the complete script.
> > Tnx!
> >
> >
> > The ERROR msg:
> >
> > hostname$ ./bars.pl -f age
> > ./bars.pl: line 5: use: command not found
> > Array found where operator expected at ./bars.pl line 90, at end of line
> >  (Might be a runaway multi-line // string starting on line 53)
> >        (Missing operator before ?)
> > Global symbol "$title" requires explicit package name at ./bars.pl line 53.
> > Global symbol "$graph" requires explicit package name at ./bars.pl line 53.
> > Global symbol "$graph" requires explicit package name at ./bars.pl line 53.
> > Global symbol "$title" requires explicit package name at ./bars.pl line 53.
> > Global symbol "$graph" requires explicit package name at ./bars.pl line 53.
> > Global symbol "$gd" requires explicit package name at ./bars.pl line 53.
> > Global symbol "$graph" requires explicit package name at ./bars.pl line 53.
> > syntax error at ./bars.pl line 90, near "my $gd = $graph->plot(/@array"
> > Global symbol "$graph" requires explicit package name at ./bars.pl line 90.
> > Global symbol "$gd" requires explicit package name at ./bars.pl line 95.
> > Unmatched right curly bracket at ./bars.pl line 97, at end of line
> > ./bars.pl has too many errors.'
> >
> >
> >
> > #!/usr/bin/perl -w
> >
> > # Needed pkg
> > use Getopt::Std;
> > use strict;
> > use warnings;
> > use GD::Graph::bars;
> >
> > # Global variables
> > my $VERBOSE = 0;
> > my $DEBUG = 0;
> >
> > ################################################################
> > # handle flags and
> > # Example: c == "-c", c: == "-c argument"
> > my $opt_string = 'hvdf:';
> > getopts( "$opt_string", \my %opt ) or usage() and exit 1; # exit other than 
> > 0 = error!!
> >
> > # print help message if -h is invoked
> > if ( $opt{'h'} ){
> >        usage();
> >        exit 0;
> >    }
> >
> > $VERBOSE = 1 if $opt{'v'};
> > $DEBUG = 1 if $opt{'d'};
> > my $FILENAME = $opt{'f'};
> >
> > # main program content
> >
> > my $filename = $FILENAME;
> > my $line;
> > my @dataarray;
> > my @array;
> > my $counter;
> > my $histmin;
> > my $histmax;
> >
> > open (FILE, "$filename") or die ("ERROR: $!\n");
> >
> > while ($line = <FILE>){
> >        debug($line);
> >        chomp $line;
> >        @array = split / /, $line;
> >        @array = sort @array;
> >        $histmin = $array[0];
> >        $histmax = $array[-1];
> >        $counter++;
> >        }
> > # print "$histmin\n$histmax\n";
> > # print "min: $array[0]\nmax: $array[-1]\n";
> > # print "@dataarray\n";
> > printHistogram(/@array,$filename,$histmin,$histmax,'Age');
> >
> >
> > ##########################################
> > # Helper routines
> >
> > sub usage {
> >        # print the correct use of this script
> >          print "Usage:\n";
> >          print "-h    Usage\n";
> >          print "-v    Verbose\n";
> >          print "-d    Debug\n";
> >          print "-f    Filename\n";
> >    }
> >
> > sub verbose {
> >        print $_[0] if ( $VERBOSE or $DEBUG );
> >    }
> >
> > sub debug {
> >        print $_[0] if ( $DEBUG );
> >    }
> >
> > sub printHistogram {
> >    my (@array,$filename,$histmin,$histmax,$title) = @_;
> >    my $graph = GD::Graph::bars->new(400, 300);
> >
> >    $graph->set(
> >        x_label           => 'X Label',
> >        y_label           => 'Y label',
> >        title             => '$title',
> >        y_max_value       => $histmax,
> >        y_min_value       => $histmin,
> >        y_tick_number     => 8,
> >        y_label_skip      => 2
> >    ) or die $graph->error;
> >
> >    my $gd = $graph->plot(/@array) or die $graph->error;
> >
> >
> >    open(IMG, '>$filename.png') or die $!;
> >    binmode IMG;
> >    print IMG $gd->png;
> >    close IMG;
> >
> >
> > --
> > To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> > For additional commands, e-mail: beginners-h...@perl.org
> > http://learn.perl.org/
> >
> >
> >
> 
> 

Reply via email to