#!/usr/bin/perl -w
# This module can be used to generate some examples
# More example will be added for the next release.
# See http://leo.cuckoo.org/projects/SVG-TT-Graph/ for more
use lib qw( ./lib ./blib/lib ../blib/lib );
use SVG::TT::Graph::Bar;
use SVG::TT::Graph::BarHorizontal;
use SVG::TT::Graph::Line;
use SVG::TT::Graph::Pie;
############ Create example directory
my $dir = 'examples';
mkdir($dir) unless -d $dir;
############ Some data to play with
my @fields1 = ('Januararyasdasdasd','Feb','Mar','Apr','Mayasdasdasdasdasd');
my @data_01 = qw(12 45 21 45 32);
my @data_02 = qw(12 23435 21 3445 345632);
my @fields2 = ('Oct 02','Nov 02','Dec 02','Jan 03','Feb 03','Mar 03','Apr 03','May 03','Jun 03','Jul 03','Aug 03','Sep 03');
my @data_03 = qw(0 0 0 0 0 0 0 0 0 0 1815 0);
############ Generate some bar graphs
run_bar('Bar',\@fields1,\@data_01,'small_range');
run_bar('BarHorizontal',\@fields1,\@data_02,'large_range');
run_line('Line',\@fields2,\@data_03,'default');
sub run_line {
my $type = shift;
my $fields = shift;
my $data = shift;
my $title = shift;
my $module = "SVG::TT::Graph::$type";
## Basic using default config
my $graph1 = $module->new({
'fields' => $fields,
});
$graph1->add_data({
'data' => $data,
'title' => 'Sales 2002 asdfasdfds',
});
my $outfile1 = "$dir/$type" . "_defaults_" . "$title.svg";
open(FH,">$outfile1");
print FH $graph1->burn();
close(FH);
}
sub run_bar {
my $type = shift;
my $fields = shift;
my $data = shift;
my $title = shift;
my $module = "SVG::TT::Graph::$type";
my $graph2 = $module->new({
'fields' => $fields,
'height' => '400',
'width' => '400',
'show_data_values' => 1,
'stagger_x_labels' => 1,
'bar_gap' => 0,
'show_x_labels' => 1,
'show_y_labels' => 1,
'rotate_x_labels' => 1,
'key' => 0,
'show_x_title' => 1,
'x_title' => 'Field names',
'show_y_title' => 1,
'y_title' => 'Y Scale title',
'show_graph_title' => 1,
'graph_title' => 'Graph Title',
'show_graph_subtitle' => 1,
'graph_subtitle' => 'Graph Sub Title',
});
$graph2->add_data({
'data' => $data,
'title' => 'Sales 2002 asdfasdfds',
});
my $outfile2 = "$dir/$type" . "_non-defaults_" . "$title.svg";
open(FH,">$outfile2");
print FH $graph2->burn();
close(FH);
## Basic using default config
my $graph1 = $module->new({
'fields' => $fields,
});
$graph1->add_data({
'data' => $data,
'title' => 'Sales 2002 asdfasdfds',
});
my $outfile1 = "$dir/$type" . "_defaults_" . "$title.svg";
open(FH,">$outfile1");
print FH $graph1->burn();
close(FH);
}