The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SVG::Sparkline::Utils - Utility functions used by the sparkline type modules.

VERSION

This document describes SVG::Sparkline::Utils version 0.35

DESCRIPTION

This module is not intended to be used directly. It is provided to support the different types of sparklines.

INTERFACE

format_f

Convert numeric data to a reasonable output format for sparkline-sized SVG. No more than 2 decimal places are displayed and all trailing zeros after the decimal place are removed.

calculate_xscale

Given an SVG::Sparkline argument hash and a range of x values, calculate the xscaling.

The following optional values are read from $args: width, padx, and xscale. Depending on the various values, the following values in $args may be updated: xscale and width.

calculate_yscale_and_offset

Given an SVG::Sparkline argument hash and a range of y values, calculate the yscaling and y offset for the graphic.

The following optional values are read from $args: height, pady, and yscale. Depending on the various values, the following values in $args may be updated: yscale, height, and yoff.

xypairs_to_points_str

Given a reference to an array of x, y pairs ($vals) and scaling factors ($xscale, $yscale), create a string appropriate for the points attribute of either an SVG polyline or polygon element graphing these points.

make_svg

Create the SVG object with the proper base parameters for a sparkline. Apply the supplied parameters as well.

summarize_values

Given a list of numeric values generate a structured summary simplifying changes for later. Calculate min, max, and range.

summarize_xy_values

Given a list of pairs of numeric values, generate a structured summary simplifying changes for later. Calculate min, max, range for the x and y values supplied.

If supplied with a list of numeric values, instead of a list of pairs, create a list of appropriate pairs and calculate the summaries as above.

validate_array_param

Validate an array parameter or throw an exception.

mark_to_index

Given the sparkline type, a mark index and a reference to an array of values, return a numeric index representing $index. Throw an exception on error.

range_mark_to_index

Given the sparkline type, a mark index and a reference to an array of high/low pairs, return a numeric index representing $index. Throw an exception on error.

DIAGNOSTICS

The diagnostics are reported where they are emitted by the library.

CONFIGURATION AND ENVIRONMENT

SVG::Sparkline::Utils requires no configuration files or environment variables.

DEPENDENCIES

SVG, List::Util.

INCOMPATIBILITIES

None reported.

BUGS AND LIMITATIONS

No bugs have been reported.

AUTHOR

G. Wade Johnson wade@anomaly.org

LICENCE AND COPYRIGHT

Copyright (c) 2009, G. Wade Johnson wade@anomaly.org. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl 5.8.0. See perlartistic.

DISCLAIMER OF WARRANTY

BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.