mirror of
https://github.com/dkogan/feedgnuplot.git
synced 2025-09-19 03:38:08 +08:00
Compare commits
21 Commits
debian/1.2
...
v1.23
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1a15457b81 | ||
![]() |
6397548515 | ||
![]() |
ba4cc66fe8 | ||
![]() |
116eb8fbc0 | ||
![]() |
8c39242986 | ||
![]() |
2934a76fdd | ||
![]() |
614bbfe848 | ||
![]() |
265062904f | ||
![]() |
55ba185ec5 | ||
![]() |
0780c10b18 | ||
![]() |
061cb0c0af | ||
![]() |
08b827d81b | ||
![]() |
b91eb7f746 | ||
![]() |
9148a3e5e9 | ||
![]() |
3d53e25c22 | ||
![]() |
ba1715446b | ||
![]() |
c875120dbd | ||
![]() |
1f350add09 | ||
![]() |
d36082ab32 | ||
![]() |
2d7bf52a45 | ||
![]() |
5b20a2389a |
78
Changes
Normal file
78
Changes
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
feedgnuplot (1.23)
|
||||||
|
|
||||||
|
* --extracmds no longer accepts comma-separated lists
|
||||||
|
This was needed because a command can have a comma
|
||||||
|
* --curvestyle no longer adds on top of --curvestyleall
|
||||||
|
|
||||||
|
-- Dima Kogan <dima@secretsauce.net> Sat, 29 Sep 2012 16:29:38 -0700
|
||||||
|
|
||||||
|
feedgnuplot (1.22)
|
||||||
|
|
||||||
|
* removed --size option
|
||||||
|
|
||||||
|
-- Dima Kogan <dima@secretsauce.net> Mon, 03 Sep 2012 08:33:26 -0700
|
||||||
|
|
||||||
|
feedgnuplot (1.21)
|
||||||
|
|
||||||
|
* removed the POD from the script to its own file
|
||||||
|
* fixed regression to allow no given extracmds, histogram or y2
|
||||||
|
options
|
||||||
|
|
||||||
|
-- Dima Kogan <dima@secretsauce.net> Sun, 02 Sep 2012 23:52:21 -0700
|
||||||
|
|
||||||
|
feedgnuplot (1.20)
|
||||||
|
|
||||||
|
* no longer hardcoding 'x11' as the default terminal
|
||||||
|
* added histogram support
|
||||||
|
* generic terminals can now be requested
|
||||||
|
* --extracmds, --histogram, --y2 can now take comma-separated lists
|
||||||
|
|
||||||
|
-- Dima Kogan <dima@secretsauce.net> Fri, 31 Aug 2012 01:35:50 -0700
|
||||||
|
|
||||||
|
feedgnuplot (1.19)
|
||||||
|
|
||||||
|
* added --geometry option to specify plot dimensions
|
||||||
|
|
||||||
|
-- Dima Kogan <dima@secretsauce.net> Sat, 11 Feb 2012 21:04:42 -0800
|
||||||
|
|
||||||
|
feedgnuplot (1.18)
|
||||||
|
|
||||||
|
* data-ids can now include characters such as -. Any non-whitespace
|
||||||
|
works
|
||||||
|
|
||||||
|
-- Dima Kogan <dima@secretsauce.net> Tue, 27 Dec 2011 16:47:36 -0800
|
||||||
|
|
||||||
|
feedgnuplot (1.17)
|
||||||
|
|
||||||
|
[ Dima Kogan ]
|
||||||
|
* POD: removed -Winteractive, since this was apparently a mawk-ism
|
||||||
|
* added zsh and bash completions
|
||||||
|
|
||||||
|
[ Hermann Schwarting ]
|
||||||
|
* add build dependency libtest-script-run-perl
|
||||||
|
|
||||||
|
-- Dima Kogan <dima@secretsauce.net> Sun, 20 Nov 2011 19:17:22 -0800
|
||||||
|
|
||||||
|
feedgnuplot (1.16)
|
||||||
|
|
||||||
|
* Some POD fixes
|
||||||
|
|
||||||
|
-- Dima Kogan <dima@secretsauce.net> Fri, 11 Nov 2011 00:10:18 -0800
|
||||||
|
|
||||||
|
feedgnuplot (1.15)
|
||||||
|
|
||||||
|
* Renamed main script from feedGnuplot to feedgnuplot
|
||||||
|
|
||||||
|
-- Dima Kogan <dima@secretsauce.net> Sun, 16 Oct 2011 11:58:15 -0700
|
||||||
|
|
||||||
|
feedgnuplot (1.14)
|
||||||
|
|
||||||
|
* added 'clear' command, documented commands
|
||||||
|
|
||||||
|
-- Dima Kogan <dima@secretsauce.net> Sun, 22 May 2011 15:25:28 -0700
|
||||||
|
|
||||||
|
feedgnuplot (1.13)
|
||||||
|
|
||||||
|
* Better streaming plot control
|
||||||
|
|
||||||
|
-- Dima Kogan <dima@secretsauce.net> Tue, 26 Apr 2011 14:24:09 -0700
|
3
INSTALL
3
INSTALL
@@ -1,8 +1,9 @@
|
|||||||
If running on a Debian-based OS (this includes Ubuntu), it is highly recommended
|
If running on a Debian-based OS (this includes Ubuntu), it is highly recommended
|
||||||
to install this program as a package by doing
|
to install this program as a package by doing
|
||||||
|
|
||||||
|
ln -fs package_definitions/debian debian
|
||||||
dpkg-buildpackage -us -uc -b
|
dpkg-buildpackage -us -uc -b
|
||||||
sudo dpkg -i feedgnuplot*.deb
|
sudo dpkg -i ../feedgnuplot*.deb
|
||||||
|
|
||||||
This builds a debian package and installs it.
|
This builds a debian package and installs it.
|
||||||
|
|
||||||
|
8
LICENSE
Normal file
8
LICENSE
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
This library is distributed under the terms of the GNU GPL:
|
||||||
|
|
||||||
|
http://www.gnu.org/licenses/gpl.html
|
||||||
|
|
||||||
|
|
||||||
|
or the Artistic license:
|
||||||
|
|
||||||
|
http://dev.perl.org/licenses/artistic.html
|
2
MANIFEST
2
MANIFEST
@@ -4,3 +4,5 @@ bin/feedgnuplot
|
|||||||
bin/feedgnuplot.pod
|
bin/feedgnuplot.pod
|
||||||
t/00-load.t
|
t/00-load.t
|
||||||
t/manifest.t
|
t/manifest.t
|
||||||
|
Changes
|
||||||
|
LICENSE
|
||||||
|
15
Makefile.PL
15
Makefile.PL
@@ -4,14 +4,14 @@ use ExtUtils::MakeMaker;
|
|||||||
|
|
||||||
sub parseversion
|
sub parseversion
|
||||||
{
|
{
|
||||||
# grab the version number from the debian changelog file. I look for lines line
|
# grab the version number from the changelog. I look for lines line
|
||||||
#
|
#
|
||||||
# libpackage-perl (0.02) unstable; urgency=low
|
# libpackage-perl (0.02)
|
||||||
#
|
#
|
||||||
# I parse out the 0.02 part
|
# I parse out the 0.02 part
|
||||||
open DCH, 'debian/changelog' or die "Couldn't open debian/changelog";
|
open DCH, 'Changes' or die "Couldn't open 'Changes'";
|
||||||
my ($version) = <DCH> =~ /^\S+ \s* \( ([0-9\.]+) \)/x
|
my ($version) = <DCH> =~ /^\S+ \s* \( ([0-9\.]+) \)/x
|
||||||
or die "Couldn't parse version from debian/changelog";
|
or die "Couldn't parse version from 'Changes'";
|
||||||
close DCH;
|
close DCH;
|
||||||
|
|
||||||
return $version;
|
return $version;
|
||||||
@@ -29,6 +29,13 @@ sub MY::libscan
|
|||||||
return $self->SUPER::libscan ($file);
|
return $self->SUPER::libscan ($file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# I want my manpage to go into the man section '1', NOT '1p'. Here I add a
|
||||||
|
# snippet to the end of the generated Makefile to force this
|
||||||
|
sub MY::postamble
|
||||||
|
{
|
||||||
|
return "MAN1EXT := 1\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
WriteMakefile
|
WriteMakefile
|
||||||
(
|
(
|
||||||
|
@@ -95,8 +95,9 @@ sub interpretCommandline
|
|||||||
|
|
||||||
# Previously I was using 'legend=s%' and 'curvestyle=s%' for curve addressing. This had cleaner
|
# Previously I was using 'legend=s%' and 'curvestyle=s%' for curve addressing. This had cleaner
|
||||||
# syntax, but disregarded the order of the given options. This resulted in arbitrarily ordered
|
# syntax, but disregarded the order of the given options. This resulted in arbitrarily ordered
|
||||||
# curves.
|
# curves. I thus make parse these into lists, and then also make hashes, for later use
|
||||||
# needed for these to be parsed into a ref to a list
|
|
||||||
|
# needed for these to be parsed into an array-ref
|
||||||
$options{legend} = [];
|
$options{legend} = [];
|
||||||
$options{curvestyle} = [];
|
$options{curvestyle} = [];
|
||||||
$options{histogram} = [];
|
$options{histogram} = [];
|
||||||
@@ -118,12 +119,27 @@ sub interpretCommandline
|
|||||||
$options->{curvestyleall} = '' unless defined $options->{curvestyleall};
|
$options->{curvestyleall} = '' unless defined $options->{curvestyleall};
|
||||||
|
|
||||||
# expand options that are given as comma-separated lists
|
# expand options that are given as comma-separated lists
|
||||||
for my $listkey (qw(extracmds histogram y2))
|
for my $listkey (qw(histogram y2))
|
||||||
{
|
{
|
||||||
@{$options{$listkey}} = map split('\s*,\s*', $_), @{$options{$listkey}}
|
@{$options{$listkey}} = map split('\s*,\s*', $_), @{$options{$listkey}}
|
||||||
if defined $options{$listkey};
|
if defined $options{$listkey};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# --legend and --curvestyle options are conceptually hashes, but are parsed as
|
||||||
|
# arrays in order to preserve the ordering. I parse both of these into hashes
|
||||||
|
# because those are useful to have later. After this I can access individual
|
||||||
|
# legends with $options{legend_hash}{curveid}
|
||||||
|
for my $listkey (qw(legend curvestyle))
|
||||||
|
{
|
||||||
|
$options{"${listkey}_hash"} = {};
|
||||||
|
|
||||||
|
my $n = scalar @{$options{$listkey}}/2;
|
||||||
|
foreach my $idx (0..$n-1)
|
||||||
|
{
|
||||||
|
$options{"${listkey}_hash"}{$options{$listkey}[$idx*2]} = $options{$listkey}[$idx*2 + 1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# parse stream option. Allowed only numbers >= 0 or 'trigger'
|
# parse stream option. Allowed only numbers >= 0 or 'trigger'
|
||||||
if(defined $options->{stream})
|
if(defined $options->{stream})
|
||||||
{
|
{
|
||||||
@@ -376,7 +392,10 @@ sub mainThread
|
|||||||
# For the specified values, set the legend entries to 'title "blah blah"'
|
# For the specified values, set the legend entries to 'title "blah blah"'
|
||||||
if(@{$options{legend}})
|
if(@{$options{legend}})
|
||||||
{
|
{
|
||||||
# @{$options{legend}} is a list where consecutive pairs are (curveID, legend)
|
# @{$options{legend}} is a list where consecutive pairs are (curveID,
|
||||||
|
# legend). I use $options{legend} here instead of $options{legend_hash}
|
||||||
|
# because I create a new curve when I see a new one, and the hash is
|
||||||
|
# unordered, thus messing up the ordering
|
||||||
my $n = scalar @{$options{legend}}/2;
|
my $n = scalar @{$options{legend}}/2;
|
||||||
foreach my $idx (0..$n-1)
|
foreach my $idx (0..$n-1)
|
||||||
{
|
{
|
||||||
@@ -388,7 +407,10 @@ sub mainThread
|
|||||||
# add the extra curve options
|
# add the extra curve options
|
||||||
if(@{$options{curvestyle}})
|
if(@{$options{curvestyle}})
|
||||||
{
|
{
|
||||||
# @{$options{curvestyle}} is a list where consecutive pairs are (curveID, style)
|
# @{$options{curvestyle}} is a list where consecutive pairs are (curveID,
|
||||||
|
# style). I use $options{curvestyle} here instead of
|
||||||
|
# $options{curvestyle_hash} because I create a new curve when I see a new
|
||||||
|
# one, and the hash is unordered, thus messing up the ordering
|
||||||
my $n = scalar @{$options{curvestyle}}/2;
|
my $n = scalar @{$options{curvestyle}}/2;
|
||||||
foreach my $idx (0..$n-1)
|
foreach my $idx (0..$n-1)
|
||||||
{
|
{
|
||||||
@@ -598,10 +620,14 @@ sub updateCurveOptions
|
|||||||
{ $title = $id; }
|
{ $title = $id; }
|
||||||
|
|
||||||
my $titleoption = defined $title ? "title \"$title\"" : "notitle";
|
my $titleoption = defined $title ? "title \"$title\"" : "notitle";
|
||||||
my $extraoption = defined $options{curvestyleall} ? $options{curvestyleall} : '';
|
|
||||||
|
my $curvestyleall = '';
|
||||||
|
$curvestyleall = $options{curvestyleall}
|
||||||
|
if defined $options{curvestyleall} && !defined $options{curvestyle_hash}{$id};
|
||||||
|
|
||||||
my $histoptions = $curveoptions->{histoptions} || '';
|
my $histoptions = $curveoptions->{histoptions} || '';
|
||||||
|
|
||||||
$curveoptions->{options} = "$histoptions $titleoption $curveoptions->{extraoptions} $extraoption";
|
$curveoptions->{options} = "$histoptions $titleoption $curveoptions->{extraoptions} $curvestyleall";
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getCurve
|
sub getCurve
|
||||||
|
@@ -46,7 +46,8 @@ passed in with C<--extracmds>. For example, to turn off the grid, pass in
|
|||||||
C<--extracmds 'unset grid'>. As many of these options as needed can be passed
|
C<--extracmds 'unset grid'>. As many of these options as needed can be passed
|
||||||
in. To add arbitrary curve styles, use C<--curvestyle curveID extrastyle>. Pass
|
in. To add arbitrary curve styles, use C<--curvestyle curveID extrastyle>. Pass
|
||||||
these more than once to affect more than one curve. To apply an extra style to
|
these more than once to affect more than one curve. To apply an extra style to
|
||||||
I<all> the curves, pass in C<--curvestyleall extrastyle>.
|
I<all> the curves that lack an explicit C<--curvestyle>, pass in
|
||||||
|
C<--curvestyleall extrastyle>.
|
||||||
|
|
||||||
=head2 Data formats
|
=head2 Data formats
|
||||||
|
|
||||||
@@ -319,15 +320,16 @@ As an example, if line 3 of the input is "0 9 1 20"
|
|||||||
'cumulative', but rescaled to end up at 1.0.
|
'cumulative', but rescaled to end up at 1.0.
|
||||||
|
|
||||||
--curvestyle curveID style
|
--curvestyle curveID style
|
||||||
Additional styles per curve. With --dataid, curveID is the
|
Additional styles per curve. With --dataid, curveID is
|
||||||
ID. Otherwise, it's the index of the curve, starting at 0. Use
|
the ID. Otherwise, it's the index of the curve, starting
|
||||||
this option multiple times for multiple curves
|
at 0. Use this option multiple times for multiple curves.
|
||||||
|
--curvestylall does NOT apply to curves that have a
|
||||||
|
--curvestyle
|
||||||
|
|
||||||
--curvestyleall xxx Additional styles for ALL curves.
|
--curvestyleall xxx Additional styles for all curves that have no --curvestyle
|
||||||
|
|
||||||
--extracmds xxx Additional commands. These could contain extra global styles
|
--extracmds xxx Additional commands. These could contain extra global styles
|
||||||
for instance. Can be passed multiple times, or passed a comma-
|
for instance. Can be passed multiple times.
|
||||||
separated list
|
|
||||||
|
|
||||||
--square Plot data with aspect ratio 1. For 3D plots, this controls the
|
--square Plot data with aspect ratio 1. For 3D plots, this controls the
|
||||||
aspect ratio for all 3 axes
|
aspect ratio for all 3 axes
|
||||||
|
17
debian/control
vendored
17
debian/control
vendored
@@ -1,17 +0,0 @@
|
|||||||
Source: feedgnuplot
|
|
||||||
Section: perl
|
|
||||||
Priority: optional
|
|
||||||
Build-Depends: debhelper (>= 7), libtest-script-run-perl
|
|
||||||
Build-Depends-Indep: perl
|
|
||||||
Maintainer: Dima Kogan <dima@secretsauce.net>
|
|
||||||
Standards-Version: 3.9.2
|
|
||||||
Homepage: https://github.com/dkogan/feedgnuplot
|
|
||||||
|
|
||||||
Package: feedgnuplot
|
|
||||||
Architecture: all
|
|
||||||
Depends: ${misc:Depends}, ${perl:Depends}, gnuplot
|
|
||||||
Description: A pipe-oriented frontend to Gnuplot
|
|
||||||
This is a flexible, command-line-oriented frontend to Gnuplot. It creates
|
|
||||||
plots from data coming in on STDIN or given in a filename passed on the
|
|
||||||
commandline. Various data representations are supported, as is hardcopy
|
|
||||||
output and streaming display of live data.
|
|
2
debian/watch
vendored
2
debian/watch
vendored
@@ -1,2 +0,0 @@
|
|||||||
version=3
|
|
||||||
http://search.cpan.org/dist/feedGnuplot/ .*/feedgnuplot-v?(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$
|
|
20
package_definitions/debian/control
Normal file
20
package_definitions/debian/control
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
Source: feedgnuplot
|
||||||
|
Section: science
|
||||||
|
Priority: extra
|
||||||
|
Build-Depends: debhelper (>= 7), libtest-script-run-perl, perl
|
||||||
|
Maintainer: Dima Kogan <dima@secretsauce.net>
|
||||||
|
Uploaders: Dima Kogan <dima@secretsauce.net>
|
||||||
|
Standards-Version: 3.9.3
|
||||||
|
Homepage: https://github.com/dkogan/feedgnuplot
|
||||||
|
Vcs-Git: git://github.com/dkogan/feedgnuplot.git
|
||||||
|
Vcs-Browser: https://github.com/dkogan/feedgnuplot
|
||||||
|
DM-Upload-Allowed: yes
|
||||||
|
|
||||||
|
Package: feedgnuplot
|
||||||
|
Architecture: all
|
||||||
|
Depends: ${misc:Depends}, ${perl:Depends}, gnuplot
|
||||||
|
Description: Pipe-oriented frontend to Gnuplot
|
||||||
|
Flexible, command-line-oriented frontend to Gnuplot. Creates plots from data
|
||||||
|
coming in on STDIN or given in a filename passed on the commandline. Various
|
||||||
|
data representations are supported, as is hardcopy output and streaming display
|
||||||
|
of live data.
|
@@ -1,13 +1,9 @@
|
|||||||
Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
|
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
Maintainer: Dima Kogan, <dima at secretsauce.net>
|
Source: https://github.com/dkogan/feedgnuplot
|
||||||
Source: http://search.cpan.org/dist/feedGnuplot/
|
Upstream-Contact: Dima Kogan, <dima@secretsauce.net>
|
||||||
Name: feedgnuplot
|
Upstream-Name: feedgnuplot
|
||||||
|
|
||||||
Files: *
|
Files: *
|
||||||
Copyright: Dima Kogan, <dima at secretsauce.net>
|
|
||||||
License:
|
|
||||||
|
|
||||||
Files: debian/*
|
|
||||||
Copyright: 2011, Dima Kogan <dima@secretsauce.net>
|
Copyright: 2011, Dima Kogan <dima@secretsauce.net>
|
||||||
License: Artistic or GPL-1+
|
License: Artistic or GPL-1+
|
||||||
|
|
Reference in New Issue
Block a user