#!/usr/bin/perl -w # Declare the stuff we need to use use strict; use CGI; use GD::Graph::linespoints; use constant TITLE => "AAA Days to Integration Average: Line Chart"; my $q = new CGI; my $graph = new GD::Graph::linespoints(600, 300); my $largestValue = 0; my (@xAxisOfDates,@yAxisOfPartners,@yAxisOfArf, @data) = (); #open(HANDLE,"integrate.dat"); # commented out 'cos I'm using DATA while () { # note DATA here chomp; my @temp1 = split(/\|/, $_); # use strict needs 'my' here my $domain = unpack ("A5", $temp1[17]); # and here push (@xAxisOfDates, $temp1[1]); push (@yAxisOfPartners, $temp1[4]); push (@yAxisOfArf, $temp1[5]); if ($temp1[4] > $largestValue){ $largestValue = $temp1[4]; } if ($temp1[5] > $largestValue){ $largestValue = $temp1[5]; } } #close(HANDLE); # using DATA for simplicity here @data = (\@xAxisOfDates, \@yAxisOfPartners, \@yAxisOfArf); $graph->set( title => TITLE, x_label => "Third Quarter FY 2002", y_label => "Average Days", long_ticks => 1, y_max_value => $largestValue, y_min_value => 0, y_tick_number => 10, y_label_skip => 0, bar_spacing => 4, types => [ "linespoints", "linespoints" ], dclrs => [ "red", "black" ], ); $graph->set( markers => [1,1] ); $graph->set_legend( "Partners", "ARF" ); my $gd_image = $graph->plot( \@data ); # I don't know where you want this, but putting it # in the png doesn't seem to work :-P #print $q->header( -type => "image/png", -expires => "-1d" ); binmode STDOUT; print $gd_image->png; #get_data(); # undefined function; perl not happy __DATA__ 1|1/27|2002|3|26|19|7|7|21|10|3|34|7|73|undef|71|6|20 2|2/03|2002|3|26|19|8|28|21|10|3|34|7|73|undef|72|6|20 3|2/10|2002|3|24|24|8|28|21|10|3|46|7|73|undef|72|8|20 4|2/17|2002|3|22|23|6|28|21|10|3|46|7|73|undef|72|8|20 5|2/24|2002|3|18|23|6|28|22|10|3|46|38|73|undef|72|8|20 6|3/03|2002|3|13|25|6|36|18|28|9|33|38|44|undef|65|8|20 7|3/10|2002|3|13|35|11|50|22|28|9|33|38|44|undef|65|8|20 8|3/18|2002|3|12|33|11|62|24|28|9|33|38|44|undef|65|undef|undef