[Jifty-commit] r5940 - in jifty/trunk: lib/Jifty/Plugin/Chart/Renderer
Jifty commits
jifty-commit at lists.jifty.org
Wed Oct 15 05:13:36 EDT 2008
Author: sartak
Date: Wed Oct 15 05:13:35 2008
New Revision: 5940
Modified:
jifty/trunk/ (props changed)
jifty/trunk/lib/Jifty/Plugin/Chart/Renderer/Google.pm
Log:
r73797 at onn: sartak | 2008-10-15 05:12:46 -0400
Add a reasonable default for bar width based on number of bars and chart width
Modified: jifty/trunk/lib/Jifty/Plugin/Chart/Renderer/Google.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/Chart/Renderer/Google.pm (original)
+++ jifty/trunk/lib/Jifty/Plugin/Chart/Renderer/Google.pm Wed Oct 15 05:13:35 2008
@@ -292,6 +292,8 @@
# Add bar widths for bar charts
if ( $args{'type'} =~ /bar/i ) {
+ @{ $args{'bar_width'} } = $self->_calculate_bar_width(\%args)
+ if @{ $args{'bar_width'} } == 0;
$url .= "&chbh=" . join ',', @{ $args{'bar_width'} };
}
@@ -388,6 +390,20 @@
return $result;
}
+sub _calculate_bar_width {
+ my $self = shift;
+ my $args = shift;
+
+ my $bars = @{ $args->{data}[0] };
+ my $bar_width = $args->{width};
+
+ $bar_width -= 10; # chart margins
+ $bar_width -= 3 * $bars; # bar margins
+ $bar_width /= $bars; # each bar's width
+
+ return int($bar_width), 3;
+}
+
=head1 SEE ALSO
L<Jifty::Plugin::Chart>, L<Jifty::Plugin::Chart::Renderer>
More information about the Jifty-commit
mailing list