NAME
Chart::OFC - Generate data files for use with Open Flash Chart
SYNOPSIS
use Chart::OFC; # loads all the other classes
my $data = Chart::OFC::Dataset->new( values => [ 1..10 ] );
my $pie = Chart::OFC::Pie->new( title => 'Pie!', dataset => $set, labels => [ 'a'..'j' ] );
print $pie->as_ofc_data();
DESCRIPTION
This class lets you generate data for the Open Flash Chart library. OFC
produces very attractive charts, but it's data format is byzantine and
hard to understand. This library lets you generate that data with a high
level API.
OFC can display pie charts, lines and/or bars on a grid, and area charts
on a grid.
If you haven't explored OFC yet, you might want to stop now and go the
many examples of what it can do with OFC there, and seeing them will
help you understand exactly what kind of charts you want to generate
with this library.
Also note that this library simply generates data for OFC. You still
need to embed the OFC flash in something and feed it the data to
actually make a chart. This library does not generate Flash or HTML or
anything like that.
This library was tested with OFC 1.9.5, and follows the format defined
for that version. The OFC zip file is included in this distribution's
tarball, under the ofc directory.
Classes
The functionality for generating charts is split across a number of
classes, each of which encapsulates one piece of a chart.
Datasets
Each data set represents one chunk of data to be displayed on your
chart. There are a number of dataset subclasses for representing data in
different formats (lines, bars, etc). You can also use the dataset base
class, "Chart::OFC::Dataset", when creating a pie chart.
The dataset classes provided are:
* Chart::OFC::Dataset
The base class for all datasets. It has no formatting, and can only
be used with pie charts.
* Chart::OFC::Dataset::Bar
* Chart::OFC::Dataset::FadeBar
* Chart::OFC::Dataset::OutlinedBar
* Chart::OFC::Dataset::GlassBar
* Chart::OFC::Dataset::3DBar
* Chart::OFC::Dataset::SketchBar
Formats your data as a set of bars. There are many different styles
of bars.
* Chart::OFC::Dataset::Line
* Chart::OFC::Dataset::LineWithDots
Formats your data as a line, with optional dots marking each value.
* Chart::OFC::Dataset::Area
Like a line with dots, but this dataset also fills in the area
between the line and the X axis with a color.
Axes and Axis Labels
When you are creating a non-pie chart, you will want to create an X and
Y axis for the chart. These are represented by the "Chart::OFC::XAxis"
and "Chart::OFC::YAxis" classes.
These classes in turn can take a "Chart::OFC::AxisLabel" class to define
the label for the entire label.
Grid Charts
A grid chart can contain any number of datasets, in any combination of
bars and lines.
Pie Charts
A pie chart displays a single dataset, with each value as a pie slice.
Colors
Many attributes in different classes expect a color. Colors can be
provided as an RGB hex string with a leading "#" symbol, or as color
names. Names are translated into RGB by use of the
"Graphics::ColorNames" module, using the "X" scheme. See that module's
docs for more details.
Opacity
Several classes accept an opacity value for an attribute. This should be
a value from 0 (completely transparent) to 100 (completely opaque).
ATTRIBUTES
This class has a number of attributes which may be passed to the "new()"
method.
title
This is shown as the title of the chart.
This attribute is optional.
title_style
This should be a chunk of CSS specifying attributes that apply to text,
such as "font-size", "color", etc.
This defaults to the string "font-size: 25px". Without a default
specifying a sane size, the default size OFC uses seems to 1px or so.
tool_tip
This defines how tool tips are generated for data points. It uses a
simple templating language. See
details.
This attribute is optional.
bg_color
The background color for the chart and surrounding text.
This attribute is optional.
METHODS
All of the above named may be accessed as read-only accessors on an
object.
This class also provide several additional methods.
as_ofc_data
Returns a textual representation of the chart suitable for delivering to
OFC.
ROLES
This class does the "Chart::OFC::Role::OFCDataLines" role.
TODO
This distribution does not yet support all of the features of OFC.
There are a few items left to do, notably grid charts with 2 Y axes, and
background images.
There are some new chart types in OFC 1.9.5 which are not supported.
It would also be nice to generate embeddable Javascript for populating
charts, since this lets you create a chart without making an additional
server request for the data.
Patches are welcome.
AUTHOR
Dave Rolsky, "<autarch@urth.org>"
BUGS
Please report any bugs or feature requests to
"bug-chart-ofc@rt.cpan.org", or through the web interface at
be notified of progress on your bug as I make changes.
COPYRIGHT & LICENSE
Copyright 2007 Dave Rolsky, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.