The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

use strict;
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;
if ($value < 0)
{
return sprintf('-$%3d', abs($value) * $refit);
}
return sprintf('$%3d', $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);
}
1;