push @{$point[0]},$timer; push @{$point[1]},$fee; #### #!/usr/bin/perl use warnings ; use strict ; use GD::Graph::linespoints ; my %position = ( 'a' => [0,0] , 'b' => [1,0] , 'c' => [2,0] , 'd' => [0,1] , 'e' => [1,1] , 'f' => [2,1] , 'g' => [0,2] , 'h' => [1,2] , 'i' => [0,3] , 'k' => [1,3] , 'l' => [2,3] , ) ; my @p = keys %position ; my @point ; my $timer = 0 ; for my $request (0..179) { my $pdirty = $p[int rand @p] ; my $pvacum = $p[int rand @p] ; my $fee = 0; if ($pvacum eq $pdirty) { print 'Fee is Zero' , "\n" ; } else { my @p2 = @{$position{$pdirty}} ; my @p1 = @{$position{$pvacum}} ; $fee = 2 * (abs (($p2[0] - $p1[0]) + ($p2[1] - $p1[1]))) ; } $timer = $timer + $fee + 2 ; push @{$point[0]},$timer; push @{$point[1]},$fee; print "$request\t$timer\t$fee\n" ; } my $graph = new GD::Graph::linespoints(1000 , 500) ; $graph->set( x_label => 'Time' , x_label_skip => 5, y_label => 'Fee' , title => 'Time Vs Fee') or warn $graph->error ; $graph->plot(\@point); open OUT,'>','image.jpeg' or die "$!"; binmode OUT; print OUT $graph->gd->jpeg;