package Algorithm::Accounting::Report::Imager; use Algorithm::Accounting::Report -Base; use Imager::Graph::Pie; use Digest::MD5 qw(md5_hex); use FreezeThaw qw(thaw); use List::Util qw(sum); our $VERSION = '0.01'; sub report_occurrence_percentage { my ($field,$occhash) = @_; my $occ = $occhash->{$field}; my (@labels, @values); for(sort {$occ->{$b} <=> $occ->{$a} } keys %$occ) { push @labels, $_; push @values, $occ->{$_}; } my $chart = Imager::Graph::Pie->new; my $img = $chart->draw( labels => \@labels, data => \@values, size => [640,480], ); my $filename = md5_hex($occ); $self->save($img,$filename); } sub report_field_group_occurrence_percentage { my $i = shift; # Only the i-th field group my $field_groups = shift; my $group_occurrence = shift; my @field = @{$field_groups->[$i]}; my $occ = $group_occurrence->[$i]; my $rows = sum(values %$occ); } sub save { my ($obj,$file) = @_; for my $format (qw (png gif jpg tiff ppm)) { if ($Imager::formats{$format}) { $obj->write(file=>"${file}.${format}") or die $obj->errstr; print STDERR "${file}.${format} saved"; last; } } } __DATA__ =head1 NAME Algorithm::Accounting::Report::Text - generate text version report =head1 COPYRIGHT Copyright 2004 by Kang-min Liu . This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See =cut