Chart::Clicker::Tutorial.3pm

Langue: en

Version: 2010-05-09 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Chart::Clicker::Tutorial - A Tutorial for using Chart::Clicker

DESCRIPTION

This document aims to provide a tutorial for using Chart::Clicker.

DISCLAIMER

This is a work in progress. If you find errors or would like to make contributions, drop me a line!

EXAMPLES

Simple chart from a single data source

     # grab the needed modules
     use Chart::Clicker;
     use Chart::Clicker::Data::Series;
     use Chart::Clicker::Data::DataSet;
 
     # build the chart
     my $chart = Chart::Clicker->new;
 
     # build the series (static here, will usually be supplied arrayrefs from elsewhere)
     my $series = Chart::Clicker::Data::Series->new(
         keys    =>      [ 1,2,3,4,5 ],
         values  =>      [ 52,74,52,82,14 ],
     );
 
     # build the dataset
     my $dataset = Chart::Clicker::Data::DataSet->new(
         series  =>      [ $series ],
     );
 
     # add the dataset to the chart
     $chart->add_to_datasets($dataset);
 
     # write the chart to a file
     $chart->write_output('chart.png');
 
 

Simple chart from multiple data sources

     use Chart::Clicker;
     use Chart::Clicker::Data::Series;
     use Chart::Clicker::Data::DataSet;
 
     my $chart = Chart::Clicker->new;
 
     # start an array that will hold the series data
     my $series1 = Chart::Clicker::Data::Series->new(
         keys    =>      [ 1,2,3,4,5 ],
         values  =>      [ 52,74,52,82,14 ]
     );
     my $series2 = Chart::Clicker::Data::Series->new(
         keys    =>      [ 1,2,3,4,5 ],
         values  =>      [ 34,67,89,45,67 ]
     );
 
     # add the array of series data to the dataset
     my $dataset = Chart::Clicker::Data::DataSet->new(
         series  => [ $series1, $series2 ]
     );
 
     $chart->add_to_datasets($dataset);
 
     $chart->write_output('chart.png');
 
 

Simple chart with multiple data sources and custom colors

     use Chart::Clicker;
     use Chart::Clicker::Data::Series;
     use Chart::Clicker::Data::DataSet;
     # some new modules, these are only needed if you want to monkey with color changing
     use Graphics::Color::RGB;
     use Chart::Clicker::Drawing::ColorAllocator;
 
     # build the color allocator
     my $ca = Chart::Clicker::Drawing::ColorAllocator->new;
     # this hash is simply here to make things readable and cleaner, you can always call G::C::R inline
     my $red = Graphics::Color::RGB->new({
         red => .75, green => 0, blue => 0, alpha => .8
     });
     my $green = Graphics::Color::RGB->new({
         red => 0,green => .75, blue=> 0, alpha=> .8
     });
     my $blue = Graphics::Color::RGB->new({
         red => 0, green => 0, blue => .75, alpha => .8
     }),
 
     my $chart = Chart::Clicker->new;
 
     # Create an empty dataset that we can add to
     my $dataset = Chart::Clicker::Data::DataSet->new;
 
     $dataset->add_to_series(Chart::Clicker::Data::Series->new(
         keys    => [ 1,2,3,4,5 ],
         values  => [ 52,74,52,82,14 ]
     ));
     # add a color - note that the order of colors and the order of the
     # series must match, the first series will use the first color and so on
     # see contexts and axes for alternate ways of doing this
     $ca->add_to_colors($blue);
 
     $dataset->add_to_series(Chart::Clicker::Data::Series->new(
         keys    =>  [ 1,2,3,4,5 ],
         values   =>  [ 34,67,89,45,67 ]
     ));
     # add a second color
     $ca->add_to_colors($red);
 
     $dataset->add_to_series(Chart::Clicker::Data::Series->new(
         keys    =>  [ 1,2,3,4,5 ],
         values  =>  [ 11,22,33,44,55 ]
     ));
     # add a third color
     $ca->add_to_colors($green);
 
     $chart->add_to_datasets($dataset);
 
     # assign the color allocator to the chart
     $chart->color_allocator($ca);
 
     $chart->write_output('chart.png');
 
 

Example 4 : Simple chart with a different render type

     use Chart::Clicker;
     use Chart::Clicker::Data::Series;
     use Chart::Clicker::Data::DataSet;
     # add in the module of the renerer(s) you want to use
     use Chart::Clicker::Renderer::Area;
 
     my $chart = Chart::Clicker->new;
 
     my $series = Chart::Clicker::Data::Series->new(
         keys    => [ 1,2,3,4,5 ],
         values  => [ 52,74,52,82,14 ]
     );
 
     my $dataset = Chart::Clicker::Data::DataSet->new(
         series  => [ $series ]
     );
 
     $chart->add_to_datasets($dataset);
 
     # build the renderer to use
     my $renderer = Chart::Clicker::Renderer::Area->new(
         opacity => .75,
     );
 
     # assign the renderer to the default context
     $chart->set_renderer($renderer);
 
     $chart->write_output('chart.png');
 
 

Example 5 : Width and Height

   my $chart = Chart::Clicker->new(width => 1024, height => 768);
 
 

Example 5 : PDF (or SVG or PS)

   my $chart = Chart::Clicker->new(format => 'pdf');
 
   # Create the rest of your chart normally
 
   $chart->write_output('chart.pdf');
 
 

AUTHOR

Cory G Watson <gphat@cpan.org>

CONTRIBUTORS

Steve Bradford

LICENSE

You can redistribute and/or modify this code under the same terms as Perl itself.