Compare commits

...

13 Commits
v1.46 ... v1.50

Author SHA1 Message Date
Dima Kogan
350b2db022 version bump 2018-08-24 13:13:45 -07:00
Dima Kogan
ba0f2eee08 completion knows about the fnormal distribution 2018-08-24 13:13:45 -07:00
Dima Kogan
9237811ed0 Script waits for the plot window to close before exiting
Instead of sleeping forever. This is really nice! I no longer need to quit the
plot window AND then C-c. Quitting the plot window is now sufficient
2018-08-23 22:31:14 -07:00
Dima Kogan
69285d7df1 fixed typo in docs 2018-07-09 18:38:56 -07:00
Dima Kogan
aedbc28afe by default --image sets range noextend
This is usually what I want
2018-04-10 00:51:30 -07:00
Dima Kogan
e865871492 changelog bump 2018-03-16 13:53:57 -07:00
Dima Kogan
0f85110a38 --vnl now works with plots that have rangesize > 1 2018-03-16 13:50:49 -07:00
Dima Kogan
5cf4acca62 zsh completion: --xlen argument isn't optional 2018-03-02 18:02:10 -08:00
Dima Kogan
319e86b667 version bump 2018-02-24 12:34:18 -08:00
Dima Kogan
938e360e84 --vnlog now works with --domain. For real this time 2018-02-23 14:59:40 -08:00
Dima Kogan
d5e8906946 --vnlog now works with --domain 2018-02-23 12:39:49 -08:00
Dima Kogan
e8f9e09090 version bump 2018-02-23 10:21:29 -08:00
Dima Kogan
9df57fb65f fixed typo 2018-02-23 10:20:44 -08:00
3 changed files with 51 additions and 12 deletions

30
Changes
View File

@@ -1,3 +1,33 @@
feedgnuplot (1.50)
* Script waits for the plot window to close before exiting
Instead of sleeping forever. This is really nice! I no longer need
to quit the plot window AND then C-c. Quitting the plot window is
now sufficient
* by default --image sets range noextend
* tab-completion knows about the fnormal distribution
-- Dima Kogan <dkogan@debian.org> Fri, 24 Aug 2018 13:11:05 -0700
feedgnuplot (1.49)
* --vnl now works with plots that have rangesize > 1
* zsh completion: --xlen argument isn't optional
-- Dima Kogan <dima@secretsauce.net> Fri, 16 Mar 2018 13:52:28 -0700
feedgnuplot (1.48)
* --vnlog works properly with --domain
-- Dima Kogan <dima@secretsauce.net> Sat, 24 Feb 2018 12:33:50 -0800
feedgnuplot (1.47)
* Fixed typo. Everything is un-broken now
-- Dima Kogan <dima@secretsauce.net> Fri, 23 Feb 2018 10:21:13 -0800
feedgnuplot (1.46) feedgnuplot (1.46)
* Added --tuplesize and --tuplesizeall as alternatives to --rangesize * Added --tuplesize and --tuplesizeall as alternatives to --rangesize

View File

@@ -16,7 +16,7 @@ use Pod::Usage;
use Time::Piece; use Time::Piece;
# Makefile.PL assumes this is in '' # Makefile.PL assumes this is in ''
my $VERSION = '1.46'; my $VERSION = '1.50';
my %options; my %options;
interpretCommandline(); interpretCommandline();
@@ -465,10 +465,13 @@ sub interpretCommandline
{ {
# images generally have the origin at the top-left instead of the # images generally have the origin at the top-left instead of the
# bottom-left, so given nothing else, I flip the y axis # bottom-left, so given nothing else, I flip the y axis
if( !defined $options{ymin} && !defined $options{ymax} && if( !defined $options{xmin} && !defined $options{xmax} &&
!defined $options{ymin} && !defined $options{ymax} &&
! any { /^ *xrange\b/ } @{$options{set}} &&
! any { /^ *yrange\b/ } @{$options{set}} ) ! any { /^ *yrange\b/ } @{$options{set}} )
{ {
push @{$options{set}}, "yrange [:] reverse"; push @{$options{set}}, "xrange [:] noextend";
push @{$options{set}}, "yrange [:] reverse noextend";
} }
if ( ! -r $options{image} ) if ( ! -r $options{image} )
@@ -865,6 +868,7 @@ sub mainThread
# 3d plots require $options{domain}, and dictate "x y" for the domain instead of just "x" # 3d plots require $options{domain}, and dictate "x y" for the domain instead of just "x"
my @fields = split; my @fields = split;
my $i_column = 0;
if($options{domain}) if($options{domain})
{ {
@@ -876,6 +880,7 @@ sub mainThread
$domain[0] = join (' ', splice( @fields, 0, $options{timefmt_Ncols}) ); $domain[0] = join (' ', splice( @fields, 0, $options{timefmt_Ncols}) );
$domain0_numeric = makeDomainNumeric( $domain[0] ); $domain0_numeric = makeDomainNumeric( $domain[0] );
$i_column += $options{timefmt_Ncols};
} }
elsif(!$options{'3d'}) elsif(!$options{'3d'})
{ {
@@ -884,6 +889,7 @@ sub mainThread
next if @fields < 1+1; next if @fields < 1+1;
$domain[0] = $domain0_numeric = shift @fields; $domain[0] = $domain0_numeric = shift @fields;
$i_column += 1;
} }
else else
{ {
@@ -892,6 +898,7 @@ sub mainThread
next if @fields < 2+1; next if @fields < 2+1;
@domain = splice(@fields, 0, 2); @domain = splice(@fields, 0, 2);
$i_column += 2;
} }
if( $options{monotonic} ) if( $options{monotonic} )
@@ -915,8 +922,7 @@ sub mainThread
$domain0_numeric = makeDomainNumeric( $domain[0] ); $domain0_numeric = makeDomainNumeric( $domain[0] );
} }
my $id = -1; my $id = -1;
my $i_curve = 0;
while(@fields) while(@fields)
{ {
if ($options{dataid}) if ($options{dataid})
@@ -925,14 +931,14 @@ sub mainThread
} }
elsif($options{vnlog} ) elsif($options{vnlog} )
{ {
if( $icurve >= @vnlog_headers ) if( $i_column >= @vnlog_headers )
{ {
# Got more columns than vnlog headers. The data is probably # Got more columns than vnlog headers. The data is probably
# bogus, but I don't want to barf at the user, so I silently # bogus, but I don't want to barf at the user, so I silently
# ignore the data # ignore the data
last; last;
} }
$id = $vnlog_headers[$i_curve]; $id = $vnlog_headers[$i_column];
} }
else else
{ {
@@ -948,7 +954,7 @@ sub mainThread
splice( @fields, 0, $rangesize ) ) . "\n", splice( @fields, 0, $rangesize ) ) . "\n",
$domain0_numeric); $domain0_numeric);
$i_curve++; $i_column += $rangesize;
} }
} }
@@ -984,7 +990,10 @@ sub mainThread
# we persist gnuplot, so we shouldn't need this sleep. However, once # we persist gnuplot, so we shouldn't need this sleep. However, once
# gnuplot exits, but the persistent window sticks around, you can no # gnuplot exits, but the persistent window sticks around, you can no
# longer interactively zoom the plot. So we still sleep # longer interactively zoom the plot. So we still sleep
sleep(100000000) unless $options{dump} || $options{exit}; unless($options{dump} || $options{exit})
{
print PIPE "pause mouse close\n";
}
} }
sub pruneOldData sub pruneOldData
@@ -1407,7 +1416,7 @@ points palette>), variable sizes (C<with points ps variable>), labels and so on.
The feedgnuplot tool itself does not know about all these intricacies, but they The feedgnuplot tool itself does not know about all these intricacies, but they
can still be used, by specifying the specific style with C<--style>, and can still be used, by specifying the specific style with C<--style>, and
specifying how many values are needed for each point with any of specifying how many values are needed for each point with any of
C<--rangesizeall, C<--tuplesizeall>, C<--rangesize>, C<--tuplesize>. These C<--rangesizeall>, C<--tuplesizeall>, C<--rangesize>, C<--tuplesize>. These
options are required I<only> for styles not explicitly supported by feedgnuplot; options are required I<only> for styles not explicitly supported by feedgnuplot;
supported styles do the right thing automatically. supported styles do the right thing automatically.

View File

@@ -16,7 +16,7 @@ _arguments -S
'--zlabel:Z-axis label:' \ '--zlabel:Z-axis label:' \
'--title:Plot title:' \ '--title:Plot title:' \
'--autolegend[Label each plot with its data ID]' \ '--autolegend[Label each plot with its data ID]' \
'(--3d)--xlen[the size of the x-window to plot]::window size:' \ '(--3d)--xlen[the size of the x-window to plot]:window size:' \
'(--xlen)--xmin:min X:' \ '(--xlen)--xmin:min X:' \
'(--xlen)--xmax:max X:' \ '(--xlen)--xmax:max X:' \
'--ymin:min Y:' \ '--ymin:min Y:' \
@@ -48,7 +48,7 @@ _arguments -S
'*--style[Additional styles for a curve]:curve id: :style:' \ '*--style[Additional styles for a curve]:curve id: :style:' \
'(--3d)*--histogram:plot to treat as a histogram:' \ '(--3d)*--histogram:plot to treat as a histogram:' \
'--binwidth:Histogram bin width:' \ '--binwidth:Histogram bin width:' \
'--histstyle:Style of histogram:(frequency unique cumulative cnormal)' \ '--histstyle:Style of histogram:(frequency fnormal unique cumulative cnormal)' \
'--terminal:Terminal options to set with "set terminal":' \ '--terminal:Terminal options to set with "set terminal":' \
'*--legend[Legend for a curve]:curve id: :legend:' \ '*--legend[Legend for a curve]:curve id: :legend:' \
'--exit[Exit gnuplot after making the plot]' \ '--exit[Exit gnuplot after making the plot]' \