RSS Git Download  Clone
Raw Blame History
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;