You can use GD. here is an example using points:
use GD::Graph::points;
my $graph = GD::Graph::points->new;
$graph->set(
x_label => 'Label',
y_label => 'Values',
title => 'Label By Value',
#cumulate => 1,
dclrs => [ 'black', 'black','black','black','black','b
+lack','black' ],
borderclrs => [ qw(black black), qw(black black) ],
bar_spacing => 4,
transparent => 1,
show_values => 1,
);
my $gd = $graph->plot(\@data) or die $graph->error;
open(IMG, ">","$graph_file") or die $!;
binmode IMG;
print IMG $gd->gif;
close IMG;
|