NAME
SVG::Timeline - Create SVG timeline charts
SYNOPSIS
use SVG::Timeline;
my $tl = SVG::Timeline->new;
$tl->add_event({
start => 1914,
end => 1918,
text => 'World War I',
});
$tl->add_event({
start => 1939,
end => 1945,
text => 'World War II',
});
print $tl->draw;
DESCRIPTION
This module allows you to easily create SVG documents that represent timelines.
An SVG timeline is a diagram with a list of years across the top and a number of bars below. Each bar represents a period of time.
METHODS
new(\%options)
Creates and returns a new SVG::Timeline object.
Takes an optional hash reference containing configuration options. You probably don't need any of these, but the following options are supported:
events - a reference to an array containing events. Events are hash references. See add_event below for the format of events.
width - the width of the output in any format used by SVG. The default is 100%.
height - the height of the output in any format used by SVG. The default is 100%.
aspect_ratio - the default is 16/9.
viewport - a viewport definition (which is a space separated list of four integers. Unless you know what you're doing, it's probably best to leave the class to work this out for you.
svg - an instance of the SVG class that is used to generate the final SVG output. Unless you're using a subclass of this class for some reason, there is no reason to set this manually.
default_colour - the colour that is used to fill the timeline blocks. This should be defined in the RGB format used by SVG. For example, red would be 'RGB(255,0,0)'.
years_per_grid - the number of years between vertical grid lines in the output. The default of 10 should be fine unless your timeline covers a really long timespan.
bar_height - the height of an individual timeline bar.
bar_spacing - the height if the vertical space between bars (expresssed as a decimal fraction of the bar height).
decade_line_colour - the colour of the grid lines.
bar_outline_colour - the colour that is used for the outline of the timeline bars.
calculated_height
The height of the timeline in "calculated units".
calculated_width
The widtn in "calulated units".
units_per_year
The number of horizontal units that each year should take up.
draw_grid
Method to draw the underlying grid.
draw
Method to draw the timeline.
min_year
Returns the minimum year from all the events in the timeline.
max_year
Returns the maximum year from all the events in the timeline.
years
The number of years that all the events in the timeline span.
AUTHOR
Dave Cross <dave@perlhacks.com>
COPYRIGHT AND LICENCE
Copyright (c) 2017, Magnum Solutions Ltd. All Rights Reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.