in reply to GD::graph time-scale option?
There's definitely no automatic way to do it. But it seems simple enough to write a little gap filler.
use Date::Manip; use POSIX; @data = ([20070410, 20070415, 20070417], [ 10, 20, 15 ]); for my $i (0 .. $#{$data[0]}-1) { my $lhs = &UnixDate(&ParseDate($data[0][$i]), '%s'); my $rhs = &UnixDate(&ParseDate($data[0][$i+1]), '%s'); my @gap = (); REDO: { if( $lhs < $rhs ) { $lhs += 86400; push @gap, strftime('%Y%m%d', $lhs); redo REDO; } } # I'm not 100% on these splices, be sure to use your brain # untested, etc etc splice @{$data[0]}, $i+1, 0, @gap; splice @{$data[1]}, $i+1, 0, map {0} @gap; }
UPDATE: Although I believe this would work correctly for the first gap, it definitely wouldn't for the next as the $#{$data[0]} would change dramatically after filling the first gap and the for loop would be unaware of it...
-Paul
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: GD::graph time-scale option?
by GertMT (Hermit) on May 09, 2007 at 11:57 UTC | |
|
Re^2: GD::graph time-scale option?
by GertMT (Hermit) on May 10, 2007 at 08:32 UTC | |
by Krambambuli (Curate) on May 10, 2007 at 09:11 UTC | |
by GertMT (Hermit) on May 10, 2007 at 09:30 UTC | |
by Krambambuli (Curate) on May 10, 2007 at 09:38 UTC |