package ChartMaker; use lib '/home/raj/perl-lib/ChartDirector'; use perlchartdir; use Modern::Perl qw(2012); # 5.14 use autodie; use FindBin; # warn $FindBin::Bin; sub make_chart { my $ref = shift; my $img_name = $ref->{data_title}; my $x_label = $ref->{x_title}; my $y_label = $ref->{y_title}; my $x_data = $ref->{x_data}; my $y_data = $ref->{y_data}; my $header = $ref->{chart_title}; my $c = new XYChart(650, 420); $c->setPlotArea(75, 65, 550, 300, -1, -1, 0xc0c0c0, 0xc0c0c0, -1); $c->addLegend(50, 30, 0, 'timesbi.ttf', 12) ->setBackground($perlchartdir::Transparent); $c->addTitle($header, 'timesbi.ttf', 18); $c->xAxis()->setTitle($x_label, 'arialbi.ttf', 12); $c->yAxis()->setTitle($y_label, 'arialbi.ttf', 12); $c->xAxis()->setWidth(2); $c->yAxis()->setWidth(2); $c->addScatterLayer($x_data, $y_data, undef, # data label not required $perlchartdir::CircleShape, 4, 0xff0000); $img_name =~ s/\.vcf\Z//i; # remove vcf suffix if exists my $filename = sprintf '%s/vcf/%s.png', $FindBin::Bin, $img_name ; $c->makeChart($filename); } 1;