GD::Graph

Help and Information with Perl's GD::Graph module

Sample List

sample11.pl

sample12.pl

sample13.pl

sample14.pl

sample15.pl

sample16.pl

sample17.pl

sample18.pl

sample19.pl

sample1A.pl

sample1B.pl

sample21.pl

sample22.pl

sample23.pl

sample31.pl

sample41.pl

sample42.pl

sample51.pl

sample52.pl

sample53.pl

sample54.pl

sample55.pl

sample56.pl

sample57.pl

sample61.pl

sample62.pl

sample63.pl

sample64.pl

sample71.pl

sample91.pl

sample92.pl

sample93.pl

sample95.pl

sample16.pl

This page contains information on the GD::Graph sample sample16.pl. The generated files are shown first, with the code used to generate the charts shown down below.

Use the left-hand navigation menu to view the other samples included in the GD::Graph package, or use the links at the top to view other sections of the website.

Generated Charts

sample16.gif:


sample16-h.gif


Code to generate these graphs:


use strict;
use GD::Graph::bars;
use GD::Graph::hbars;
require 'save.pl';

my @data = (
[ qw( 1st 2nd 3rd 4th 5th 6th 7th 8th 9th ) ],
[ 5, 12,undef, 33, 19, 8, 5, 15, 21],
[ -6, -5, -9, -8, -11, -9.3,undef, -9, -12]
);

my $refit = 4;

sub y_format
{
my $value = shift;
my $ret;

if ($value >= 0)
{
$ret = sprintf("\$%3d", $value * $refit);
}
else
{
$ret = sprintf("-\$%3d", abs($value) * $refit);
}
}

my @names = qw/sample16 sample16-h/;

for my $my_graph (GD::Graph::bars->new, GD::Graph::hbars->new)
{
my $name = shift @names;
print STDERR "Processing $name\n";

$my_graph->set(
x_label => 'Day',
y_label => 'AUD',
title => 'Credits and Debits',
y_max_value => 35,
y_min_value => -15,
y_tick_number => 10,
y_label_skip => 2,
overwrite => 1,
dclrs => [ qw( green lred ) ],
axislabelclr => 'black',
legend_placement => 'RB',
zero_axis_only => 0,
y_number_format => \&y_format,
x_label_position => 1/2,

transparent => 0,
);

$my_graph->set_legend( 'credits', 'debets' );
$my_graph->plot(\@data);
save_chart($my_graph, $name);
}