You have heard of the concept RTFM. I suggest you do. It is all *very* well documented. Here is the FM. Here is a bit of sample code to give you the idea:
sub graph_by_user {
my ( $png, $data, $title ) = @_;
require GD;
require GD::Graph::hbars;
my $X = 600; # x size
my $Y = 60+ (15 * scalar keys %$data); # y size
my $GD = GD::Graph::hbars->new( $X, $Y );
my ( @users, @categorised, @uncategorised );
for my $user ( sort keys %$data ) {
push @users, $user;
push @uncategorised, $data->{$user}->[0];
push @categorised, $data->{$user}->[1];
}
$data = GD::Graph::Data->new([ \@users, \@uncategorised, \@categor
+ised ])
or die $GD->error;
my @atribs = (
y_label => "Total Reviews",
long_ticks => 1,
cumulate => 1,
title => $title,
dclrs => [ qw[ blue green ] ],
);
$GD->set(@atribs);
$GD->set_legend( 'Uncategorised', 'Categorised' );
my $gd = $GD->plot( $data ) or die $GD->error;
open my $img, ">$png" or die "Couldn't write $png PNG $!";
binmode $img;
print $img $gd->png or die "Error printing png: $!:";
close $img;
}
x_labels_vertical => 1 is the attribute you want to make the labels vertical.
|