[feedgnuplot] 02/05: fixed incorrect plotting of --timefmt --rangesize plots

Dima Kogan dima at secretsauce.net
Fri Feb 7 07:20:27 UTC 2014


This is an automated email from the git hooks/post-receive script.

dkogan-guest pushed a commit to branch debian
in repository feedgnuplot.

commit a65abc6095e80fed103d6f4e94dc51285c1597ed
Author: Dima Kogan <dima at secretsauce.net>
Date:   Thu Feb 6 23:16:11 2014 -0800

    fixed incorrect plotting of --timefmt --rangesize plots
---
 bin/feedgnuplot | 14 +++++++++++++-
 t/plots.t       | 49 ++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 61 insertions(+), 2 deletions(-)

diff --git a/bin/feedgnuplot b/bin/feedgnuplot
index d77d84f..636bc19 100755
--- a/bin/feedgnuplot
+++ b/bin/feedgnuplot
@@ -867,7 +867,19 @@ sub updateCurveOptions
   my $usingoptions = '';
   if( $options{timefmt} )
   {
-    $usingoptions = "using 1:" . ($options{timefmt_Ncols}+1);
+      # with --timefmt I need an explicit 'using' specification. I specify the
+      # columns as 1:2:3..... I need the right number of columns (this is given
+      # as 1 + rangesize). I also need to start the range at the first column
+      # past the timefmt
+
+      # I'd like to use //, but I guess some people are still on perl 5.8
+      my $rangesize = exists $options{rangesize_hash}{$id} ?
+        $options{rangesize_hash}{$id} :
+        $options{rangesize_default};
+
+      my @rest = map {$_ + $options{timefmt_Ncols}} (1..$rangesize);
+
+      $usingoptions = "using 1:" . join(':', @rest);
   }
 
   $curve->{options} = "$histoptions $usingoptions $titleoption $curve->{extraoptions} $curvestyleall";
diff --git a/t/plots.t b/t/plots.t
index 821d9e5..43ef00f 100644
--- a/t/plots.t
+++ b/t/plots.t
@@ -39,7 +39,7 @@ BEGIN {
   }
 }
 
-use Test::More tests => 56;
+use Test::More tests => 58;
 use File::Temp 'tempfile';
 use IPC::Run 'run';
 use String::ShellQuote;
@@ -801,6 +801,53 @@ tryplot( testname => '--timefmt plot with --monotonic',
 
 EOF
 
+tryplot( testname => '--timefmt with custom rangesize',
+         cmd      => q{seq 5 | gawk '{print strftime("%d %b %Y %T",1382249107+$1,1),$1,$1/10}'},
+         options  => ['--domain', '--timefmt', '%d %b %Y %H:%M:%S',
+                      qw(--with errorbars --rangesizeall 2)],
+         refplot  => <<'EOF' );
+

+
+  5.5 ++---------+-----------+----------+----------+----------+-----------+----------+---------**
+      +          +           +          +          +          +           +          +          *
+      |                                                                                         *
+    5 ++                                                                                       +A
+      |                                                                                         *
+      |                                                                                         *
+      |                                                                                         *
+  4.5 ++                                                                                       **
+      |                                                                  ***                    |
+      |                                                                   *                     |
+    4 ++                                                                  A                    ++
+      |                                                                   *                     |
+      |                                                                   *                     |
+      |                                                                  ***                    |
+  3.5 ++                                                                                       ++
+      |                                           ***                                           |
+      |                                            *                                            |
+    3 ++                                           A                                           ++
+      |                                            *                                            |
+      |                                            *                                            |
+      |                                           ***                                           |
+  2.5 ++                                                                                       ++
+      |                                                                                         |
+      |                     ***                                                                 |
+    2 ++                     A                                                                 ++
+      |                      *                                                                  |
+      |                     ***                                                                 |
+      |                                                                                         |
+  1.5 ++                                                                                       ++
+      |                                                                                         |
+      |                                                                                         |
+    1 A*                                                                                       ++
+      **                                                                                        |
+      |                                                                                         |
+      +          +           +          +          +          +           +          +          +
+  0.5 ++---------+-----------+----------+----------+----------+-----------+----------+---------++
+    05:08      05:08       05:09      05:09      05:10      05:10       05:11      05:11      05:12
+
+EOF
+
 tryplot( testname => 'Error bars (using extraValuesPerPoint)',
          cmd      => q{seq 5 | gawk '{print $1,$1,$1/10}'},
          options  => [qw(--domain),

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/feedgnuplot.git



More information about the debian-science-commits mailing list