#============================================================= -*-Perl-*- # # Template::Plugin::GD::Graph::bars # # DESCRIPTION # # Simple Template Toolkit plugin interfacing to the GD::Graph::bars # package in the GD::Graph.pm module. # # AUTHOR # Craig Barratt # # COPYRIGHT # Copyright (C) 2001 Craig Barratt. All Rights Reserved. # # This module is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. # #---------------------------------------------------------------------------- # # $Id: bars.pm,v 1.57 2004/01/13 16:20:56 abw Exp $ # #============================================================================ package Template::Plugin::GD::Graph::bars; require 5.004; use strict; use GD::Graph::bars; use Template::Plugin; use base qw( GD::Graph::bars Template::Plugin ); use vars qw( $VERSION ); $VERSION = sprintf("%d.%02d", q$Revision: 1.57 $ =~ /(\d+)\.(\d+)/); sub new { my $class = shift; my $context = shift; return $class->SUPER::new(@_); } sub set { my $self = shift; push(@_, %{pop(@_)}) if ( @_ & 1 && ref($_[@_-1]) eq "HASH" ); $self->SUPER::set(@_); } sub set_legend { my $self = shift; $self->SUPER::set_legend(ref $_[0] ? @{$_[0]} : @_); } 1; __END__ #------------------------------------------------------------------------ # IMPORTANT NOTE # This documentation is generated automatically from source # templates. Any changes you make here may be lost. # # The 'docsrc' documentation source bundle is available for download # from http://www.template-toolkit.org/docs.html and contains all # the source templates, XML files, scripts, etc., from which the # documentation for the Template Toolkit is built. #------------------------------------------------------------------------ =head1 NAME Template::Plugin::GD::Graph::bars - Create bar graphs with axes and legends =head1 SYNOPSIS [% USE g = GD.Graph.bars(x_size, y_size); %] =head1 EXAMPLES [% FILTER null; data = [ ["1st","2nd","3rd","4th","5th","6th","7th", "8th", "9th"], [ 1, 2, 5, 6, 3, 1.5, 1, 3, 4], ]; USE my_graph = GD.Graph.bars(); my_graph.set( x_label => 'X Label', y_label => 'Y label', title => 'A Simple Bar Chart', y_max_value => 8, y_tick_number => 8, y_label_skip => 2, # shadows bar_spacing => 8, shadow_depth => 4, shadowclr => 'dred', transparent => 0, ); my_graph.plot(data).png | stdout(1); END; -%] [% FILTER null; data = [ ["1st","2nd","3rd","4th","5th","6th","7th", "8th", "9th"], [ 5, 12, 24, 33, 19, 8, 6, 15, 21], [ 1, 2, 5, 6, 3, 1.5, 1, 3, 4], ]; USE my_graph = GD.Graph.bars(); my_graph.set( x_label => 'X Label', y_label => 'Y label', title => 'Two data sets', # shadows bar_spacing => 8, shadow_depth => 4, shadowclr => 'dred', long_ticks => 1, y_max_value => 40, y_tick_number => 8, y_label_skip => 2, bar_spacing => 3, accent_treshold => 200, transparent => 0, ); my_graph.set_legend( 'Data set 1', 'Data set 2' ); my_graph.plot(data).png | stdout(1); END; -%] =head1 DESCRIPTION The GD.Graph.bars plugin provides an interface to the GD::Graph::bars class defined by the GD::Graph module. It allows one or more (x,y) data sets to be plotted with each point represented by a bar, in addition to axes and legends. See L for more details. =head1 AUTHOR Craig Barratt Ecraig@arraycomm.comE The GD::Graph module was written by Martien Verbruggen. =head1 VERSION 1.57, distributed as part of the Template Toolkit version 2.13, released on 30 January 2004. =head1 COPYRIGHT Copyright (C) 2001 Craig Barratt Ecraig@arraycomm.comE GD::Graph is copyright 1999 Martien Verbruggen. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L =cut # Local Variables: # mode: perl # perl-indent-level: 4 # indent-tabs-mode: nil # End: # # vim: expandtab shiftwidth=4: