my (@data,$totalvotes,@legend,$i); while (my @r = $sth->fetchrow) { push @{$data[0]}, ++$i; push @legend,"$i: $r[1]"; push @{$data[1]}, $r[2]; $totalvotes += $r[2]; } $sth->finish; if ($totalvotes > 0) { for (@{$data[1]}) { $_ = int(($_ / $totalvotes) * 100).'%'; } } #### my $graph = GD::Graph::hbars->new(300,70*$#{$data[0]}); $graph->set ( y_label => 'Vote Percentage', x_label => 'Responses', title => $self->{poll}->{question}, y_max_value => 100, y_tick_number => 10, bar_spacing => 6, show_values => 1, dclrs => [ qw(lgreen orange cyan lred) ], cycle_clrs => 1, legend_placement => 'BL', legend_marker_height => 12, ) or warn $graph->error; $graph->set_legend(@legend); my $gd = $graph->plot(\@data) or warn $graph->error;