mirror of
https://github.com/dkogan/feedgnuplot.git
synced 2025-09-19 20:08:08 +08:00
Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
350b2db022 | ||
![]() |
ba0f2eee08 | ||
![]() |
9237811ed0 | ||
![]() |
69285d7df1 | ||
![]() |
aedbc28afe | ||
![]() |
e865871492 | ||
![]() |
0f85110a38 | ||
![]() |
5cf4acca62 | ||
![]() |
319e86b667 | ||
![]() |
938e360e84 | ||
![]() |
d5e8906946 | ||
![]() |
e8f9e09090 | ||
![]() |
9df57fb65f |
30
Changes
30
Changes
@@ -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
|
||||||
|
@@ -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.
|
||||||
|
|
||||||
|
@@ -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]' \
|
||||||
|
Reference in New Issue
Block a user