Chart::Clicker::Axis - An X or Y Axis
version 2.90
use Chart::Clicker::Axis;
use Graphics::Primitive::Font;
use Graphics::Primitive::Brush;
my $axis = Chart::Clicker::Axis->new({
label_font => Graphics::Primitive::Font->new,
orientation => 'vertical',
position => 'left',
brush => Graphics::Primitive::Brush->new,
visible => 1,
});
Chart::Clicker::Axis represents the plot of the chart.
The height of the axis.
This axis' width.
The angle (in radians) to rotate the tick's labels.
Selects the algorithm for dividing the graph axis into labelled ticks.
The currently included algorithms are: "Exact" in
Chart::Clicker::Data::DivisionType::Exact, "LinearRounded" in
Chart::Clicker::Data::DivisionType::LinearRounded.
You may write your own by providing a Moose Role which includes Role
Chart::Clicker::Data::DivisionType and prefixing the module name with + when
setting tick_division_type.
Chart::Clicker::Axis->new(tick_division_type => '+MyApp::TickDivision');
This value should only be set once per axis.
The 'baseline' value of this axis. This is used by some renderers to change the
way a value is marked. The Bar render, for instance, considers values below
the base to be 'negative'.
The brush for this axis. Expects a Graphics::Primitve::Brush.
The color of the axis' border. Expects a Graphics::Color::RGB object. Defaults
to black.
The format to use for the axis values.
If the format is a string then format is applied to each value 'tick' via
sprintf. See sprintf perldoc for details! This is useful for situations where
the values end up with repeating decimals.
If the format is a coderef then that coderef will be executed and the value
passed to it as an argument.
my $nf = Number::Format->new;
$default->domain_axis->format(sub { return $nf->format_number(shift); });
The amount to 'fudge' the span of this axis. You should supply a percentage (in
decimal form) and the axis will grow at both ends by the supplied amount. This
is useful when you want a bit of padding above and below the dataset.
As an example, a fugdge_amount of .10 on an axis with a span of 10 to 50 would
add 5 to the top and bottom of the axis.
This axis' hidden flag. If this is true then the Axis will not be drawn.
The label of the axis.
The color of the Axis' labels. Expects a Graphics::Color::RGB object.
The font used for the axis' label. Expects a Graphics::Primitive::Font object.
Set/Get the Layout Manager. Defaults to Layout::Manager::Absolute.
The orientation of this axis. See Graphics::Primitive::Oriented.
The position of the axis on the chart.
The Range for this axis. Expects a Chart::Clicker::Data::Range object. You may
use this to explicitly set an upper and lower bound for the chart:
$axis->range->max(1000);
$axis->range->min(1);
If this is value is false then 'ticks' and their labels will not drawn for this
axis.
If true, causes horizontally labeled axes to 'stagger' the labels so that half
are at the top of the box and the other half are at the bottom. This makes
long, overlapping labels less likely to overlap. It only does something useful
with
horizontal labels.
Allows you to specify a range of values that will be skipped completely on this
axis. This is often used to trim a large, unremarkable section of data. If,
for example, 50% of your values fall below 10 and 50% fall above 100 it is
useless to bother charting the 10 to 100 range. Skipping it with this
attribute will make for a much more useful chart, albeit somewhat visually
skewed.
$axis->skip_range(Chart::Clicker::Data::Range->new(lower => 10, upper => 100));
Note that
any data points, including ticks, that fall inside the range
specified will be completely ignored.
The font used for the axis' ticks. Expects a Graphics::Primitive::Font object.
The color of the tick labels. Expects a Graphics::Color::RGB object.
The arrayref of labels to show for ticks on this Axis. This arrayref is
consulted for every tick, in order. So placing a string at the zeroeth index
will result in it being displayed on the zeroeth tick, etc, etc.
The arrayref of values show as ticks on this Axis.
The number of 'ticks' to show. Setting this will divide the range on this axis
by the specified value to establish tick values. This will have no effect if
you specify tick_values.
Add a value to the list of tick values.
Clear all tick values.
Get a count of tick values.
Given a span and a value, returns it's pixel position on this Axis.
Given a value, returns it formatted using this Axis' formatter.
Retrieves the divisions or ticks for the axis.
Cory G Watson <
[email protected]>
This software is copyright (c) 2016 by Cory G Watson.
This is free software; you can redistribute it and/or modify it under the same
terms as the Perl 5 programming language system itself.