mirror of
https://github.com/dkogan/feedgnuplot.git
synced 2025-09-19 03:38:08 +08:00
Compare commits
60 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7d7511e62e | ||
![]() |
1744aeb6d2 | ||
![]() |
53f6cdae5b | ||
![]() |
ed9512924d | ||
![]() |
2ee401fcb4 | ||
![]() |
7c1f02ec7f | ||
![]() |
5740e55a6f | ||
![]() |
a0c9e6e8bc | ||
![]() |
64b12e4738 | ||
![]() |
402fa32bda | ||
![]() |
7da37a0015 | ||
![]() |
a48b834512 | ||
![]() |
888583abe9 | ||
![]() |
e17f110269 | ||
![]() |
89a185f8a6 | ||
![]() |
35ed74eaf1 | ||
![]() |
07f574a929 | ||
![]() |
5dce1d8cda | ||
![]() |
048b0db65c | ||
![]() |
b0877a8926 | ||
![]() |
4958bda912 | ||
![]() |
3860d8281b | ||
![]() |
4f9adb6e11 | ||
![]() |
167e85d2a7 | ||
![]() |
5123ca73d3 | ||
![]() |
d4ca90e1bd | ||
![]() |
9e669044c7 | ||
![]() |
cacbedb336 | ||
![]() |
18994e68e1 | ||
![]() |
f8ed461571 | ||
![]() |
f01431dd1e | ||
![]() |
80b6030996 | ||
![]() |
232b68b819 | ||
![]() |
12eb829f16 | ||
![]() |
80b5d0ab61 | ||
![]() |
960c43e758 | ||
![]() |
2ecdfb9aef | ||
![]() |
fa7082b242 | ||
![]() |
c61e58da0a | ||
![]() |
c19dc4aa2a | ||
![]() |
238a0c1943 | ||
![]() |
42a8218fbe | ||
![]() |
4cfcf0fc35 | ||
![]() |
0e7f51f3f7 | ||
![]() |
01971c2434 | ||
![]() |
104accdd0d | ||
![]() |
605158b391 | ||
![]() |
0c32afacfd | ||
![]() |
1688496f34 | ||
![]() |
498047e785 | ||
![]() |
72adba82f7 | ||
![]() |
539b2035d8 | ||
![]() |
9b3cbc13be | ||
![]() |
a65abc6095 | ||
![]() |
5db86810b5 | ||
![]() |
d75b572875 | ||
![]() |
6cb1574e2b | ||
![]() |
4fd1c390ff | ||
![]() |
4163e24956 | ||
![]() |
13268a1fa8 |
94
Changes
94
Changes
@@ -1,3 +1,97 @@
|
||||
feedgnuplot (1.43)
|
||||
|
||||
* Added --image
|
||||
|
||||
-- Dima Kogan <dima@secretsauce.net> Mon, 19 Jun 2017 13:12:38 -0700
|
||||
|
||||
feedgnuplot (1.42)
|
||||
|
||||
* Data can now come from STDIN or files on the cmdline.
|
||||
This fixes a regression. Self-plotting data files work again
|
||||
|
||||
-- Dima Kogan <dima@secretsauce.net> Fri, 31 Mar 2017 15:38:47 -0700
|
||||
|
||||
feedgnuplot (1.41)
|
||||
|
||||
* Histograms: --xlen can coexist with --xmin/--xmax
|
||||
* Histograms: work as expected with --xlen and --monotonic
|
||||
* Histograms: better sanity checking of options
|
||||
|
||||
-- Dima Kogan <dima@secretsauce.net> Fri, 24 Feb 2017 23:42:28 -0800
|
||||
|
||||
feedgnuplot (1.40)
|
||||
|
||||
* If the options couldn't be parsed I don't dump the whole manpage
|
||||
* --style and --rangesize can now take a comma-separated list of IDs
|
||||
* 'any' is from List::MoreUtils, not List::Util
|
||||
* the sleep-forever delay at end is now > 1000 days
|
||||
|
||||
-- Dima Kogan <dima@secretsauce.net> Fri, 25 Nov 2016 14:45:06 -0800
|
||||
|
||||
feedgnuplot (1.39)
|
||||
|
||||
* by default, histograms are plotted in expected ways
|
||||
|
||||
-- Dima Kogan <dima@secretsauce.net> Sat, 15 Oct 2016 20:45:15 -0700
|
||||
|
||||
feedgnuplot (1.38)
|
||||
|
||||
* hardcopy defaults:
|
||||
- no enhanced text mode
|
||||
- larger font size
|
||||
|
||||
-- Dima Kogan <dima@secretsauce.net> Wed, 27 Jul 2016 22:15:11 -0700
|
||||
|
||||
feedgnuplot (1.37)
|
||||
|
||||
* At the end of a streaming plot, include the last chunk of data
|
||||
* Added --equation to the completions
|
||||
|
||||
-- Dima Kogan <dima@secretsauce.net> Fri, 01 Jan 2016 08:09:43 -0800
|
||||
|
||||
feedgnuplot (1.36)
|
||||
|
||||
* Added --equation to plot symbolic equations
|
||||
|
||||
-- Dima Kogan <dima@secretsauce.net> Fri, 13 Nov 2015 11:08:26 -0800
|
||||
|
||||
feedgnuplot (1.35)
|
||||
|
||||
* replaced a 'say' with 'print'. Should work better with ancient perls
|
||||
* an "exit" command now has effect even with triggered-only replotting
|
||||
|
||||
* More sophisticated handling of termination conditions:
|
||||
- Without --exit, we always end up with an interactive plot when the
|
||||
input data is exhausted or when the user sends a ^C to the pipeline
|
||||
- When streaming, the first ^C does not kill feedgnuplot
|
||||
|
||||
* Removed threading
|
||||
|
||||
-- Dima Kogan <dima@secretsauce.net> Sun, 01 Nov 2015 12:50:33 -0800
|
||||
|
||||
feedgnuplot (1.34)
|
||||
|
||||
* Fix for "Use of implicit split to @_ is deprecated". Thanks to Corey
|
||||
Putkunz
|
||||
|
||||
* Declaring feedgnuplot as a package to let MetaCPAN index this
|
||||
distribution
|
||||
|
||||
-- Dima Kogan <dima@secretsauce.net> Wed, 14 May 2014 00:45:24 -0700
|
||||
|
||||
feedgnuplot (1.33)
|
||||
|
||||
* fixed incorrect plotting of --timefmt --rangesize plots
|
||||
|
||||
-- Dima Kogan <dima@secretsauce.net> Thu, 06 Feb 2014 23:17:21 -0800
|
||||
|
||||
feedgnuplot (1.32)
|
||||
|
||||
* Added --rangesize and --rangesizeall. Different curves can now plot
|
||||
different-size tuples
|
||||
|
||||
-- Dima Kogan <dima@secretsauce.net> Wed, 05 Feb 2014 13:57:58 -0800
|
||||
|
||||
feedgnuplot (1.31)
|
||||
|
||||
* Test suite requires gawk to get strftime()
|
||||
|
@@ -64,6 +64,7 @@ WriteMakefile
|
||||
PL_FILES => {},
|
||||
EXE_FILES => [ 'bin/feedgnuplot' ],
|
||||
BUILD_REQUIRES => { 'String::ShellQuote' => 0,
|
||||
'List::MoreUtils' => 0,
|
||||
'IPC::Run' => 0},
|
||||
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
|
||||
clean => { FILES => 'feedgnuplot-*' },
|
||||
|
893
bin/feedgnuplot
893
bin/feedgnuplot
File diff suppressed because it is too large
Load Diff
@@ -15,9 +15,13 @@ complete -W \
|
||||
--dump \
|
||||
--exit \
|
||||
--extraValuesPerPoint \
|
||||
--rangesizeall \
|
||||
--rangesize \
|
||||
--extracmds \
|
||||
--set \
|
||||
--unset \
|
||||
--equation \
|
||||
--image \
|
||||
--geometry \
|
||||
--hardcopy \
|
||||
--help \
|
||||
|
@@ -32,12 +32,16 @@ _arguments -S
|
||||
'*--extracmds[Additional gnuplot commands]:command' \
|
||||
'*--set[Additional 'set' gnuplot commands]:set-option' \
|
||||
'*--unset[Additional 'unset' gnuplot commands]:unset-option' \
|
||||
'*--equation[Raw symbolic equation]:equation' \
|
||||
'--image[Image file to render beneath the data]:image' \
|
||||
'--square[Plot data with square aspect ratio]' \
|
||||
'--square_xy[For 3D plots, set square aspect ratio for ONLY the x,y axes]' \
|
||||
'--hardcopy[Plot to a file]:filename' \
|
||||
'--maxcurves[The maximum allowed number of curves]:number of curves' \
|
||||
'(--3d)--monotonic[Resets plot if an X in the past is seen]' \
|
||||
'--extraValuesPerPoint[How many extra values are given for each data point]:N'\
|
||||
'(--rangesizeall)--extraValuesPerPoint[How many extra values are given for each data range]:N'\
|
||||
'(--extraValuesPerPoint)--rangesizeall[How many values are given for each data range]:N'\
|
||||
'*--rangesize[How many values comprise a data range in this curve]:curve id: :N:' \
|
||||
'--dump[Instead of printing to gnuplot, print to STDOUT]' \
|
||||
'--geometry[The X11 geometry string]:geometry string:' \
|
||||
'*--curvestyle[Additional styles for a curve]:curve id: :style:' \
|
||||
|
58
feedgnuplot.spec
Normal file
58
feedgnuplot.spec
Normal file
@@ -0,0 +1,58 @@
|
||||
# Sample spec file for rpm-based systems. Debian-based systems already have this
|
||||
# packaged, so we do not ship those here
|
||||
|
||||
Name: feedgnuplot
|
||||
Version: 1.38
|
||||
Release: 1%{?dist}
|
||||
Summary: Pipe-oriented frontend to Gnuplot
|
||||
BuildArch: noarch
|
||||
|
||||
License: Artistic or GPL-1+
|
||||
URL: https://www.github.com/dkogan/feedgnuplot/
|
||||
Source0: https://www.github.com/dkogan/feedgnuplot/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
|
||||
BuildRequires: /usr/bin/pod2html
|
||||
BuildRequires: perl-String-ShellQuote
|
||||
BuildRequires: perl-ExtUtils-MakeMaker
|
||||
BuildRequires: perl
|
||||
BuildRequires: gawk
|
||||
BuildRequires: gnuplot
|
||||
BuildRequires: perl-IPC-Run
|
||||
|
||||
Requires: gnuplot
|
||||
|
||||
%description
|
||||
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.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
perl Makefile.PL INSTALLDIRS=vendor
|
||||
make
|
||||
pod2html --title=feedgnuplot bin/feedgnuplot > feedgnuplot.html
|
||||
|
||||
%install
|
||||
make install DESTDIR=%{buildroot} PREFIX=/usr
|
||||
|
||||
mkdir -p %{buildroot}%{_defaultdocdir}/%{name}
|
||||
cp Changes LICENSE feedgnuplot.html %{buildroot}%{_defaultdocdir}/%{name}
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/zsh/site-functions
|
||||
cp completions/zsh/* %{buildroot}%{_datadir}/zsh/site-functions
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/bash-completion/completions
|
||||
cp completions/bash/* %{buildroot}%{_datadir}/bash-completion/completions
|
||||
|
||||
rm -rf %{buildroot}/usr/lib64
|
||||
|
||||
|
||||
%files
|
||||
%{_bindir}/*
|
||||
%{_datadir}/zsh/*
|
||||
%{_datadir}/bash-completion/*
|
||||
%doc %{_defaultdocdir}/%{name}/*
|
||||
%doc %{_mandir}
|
150
t/plots.t
150
t/plots.t
@@ -39,7 +39,7 @@ BEGIN {
|
||||
}
|
||||
}
|
||||
|
||||
use Test::More tests => 52;
|
||||
use Test::More tests => 58;
|
||||
use File::Temp 'tempfile';
|
||||
use IPC::Run 'run';
|
||||
use String::ShellQuote;
|
||||
@@ -801,10 +801,57 @@ 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),
|
||||
qw(--extraValuesPerPoint 1 --curvestyle 0), 'with errorbars'],
|
||||
qw(--extraValuesPerPoint 1 --with errorbars)],
|
||||
refplot => <<'EOF' );
|
||||
|
||||
|
||||
@@ -849,6 +896,103 @@ tryplot( testname => 'Error bars (using extraValuesPerPoint)',
|
||||
EOF
|
||||
|
||||
|
||||
tryplot( testname => 'Error bars (using rangesizeall)',
|
||||
cmd => q{seq 5 | gawk '{print $1,$1,$1/10}'},
|
||||
options => [qw(--domain),
|
||||
qw(--rangesizeall 2 --with errorbars)],
|
||||
refplot => <<'EOF' );
|
||||
|
||||
|
||||
5.5 ++---------+-----------+----------+----------+----------+-----------+----------+---------**
|
||||
+ + + + + + + + *
|
||||
| *
|
||||
5 ++ +A
|
||||
| *
|
||||
| *
|
||||
| *
|
||||
4.5 ++ **
|
||||
| *** |
|
||||
| * |
|
||||
4 ++ A ++
|
||||
| * |
|
||||
| * |
|
||||
| *** |
|
||||
3.5 ++ ++
|
||||
| *** |
|
||||
| * |
|
||||
3 ++ A ++
|
||||
| * |
|
||||
| * |
|
||||
| *** |
|
||||
2.5 ++ ++
|
||||
| |
|
||||
| *** |
|
||||
2 ++ A ++
|
||||
| * |
|
||||
| *** |
|
||||
| |
|
||||
1.5 ++ ++
|
||||
| |
|
||||
| |
|
||||
1 A* ++
|
||||
** |
|
||||
| |
|
||||
+ + + + + + + + +
|
||||
0.5 ++---------+-----------+----------+----------+----------+-----------+----------+---------++
|
||||
1 1.5 2 2.5 3 3.5 4 4.5 5
|
||||
|
||||
EOF
|
||||
|
||||
|
||||
tryplot( testname => 'Error bars (using rangesize, rangesizeall)',
|
||||
cmd => q{seq 5 | gawk '{print $1,"vert",$1,$1/10,"horiz",5-$1,$1-$1/5,$1+$1/20}'},
|
||||
options => [qw(--domain --dataid),
|
||||
qw(--rangesize vert 2 --rangesizeall 3 --with xerrorbars --style vert), 'with errorbars',
|
||||
qw(--xmin 1 --xmax 5 --ymin 0.5 --ymax 5.5)],
|
||||
refplot => <<'EOF' );
|
||||
|
||||
|
||||
+-----------+----------+-----------+----------+-----------+----------+-----------+---------**
|
||||
+ + + + + + + + *
|
||||
| *
|
||||
5 ++ +A
|
||||
| *
|
||||
| *
|
||||
| *
|
||||
| **
|
||||
| *** |
|
||||
## * |
|
||||
4 B# A ++
|
||||
## * |
|
||||
| * |
|
||||
| *** |
|
||||
| |
|
||||
| *** |
|
||||
| # # * |
|
||||
3 ++ #########B## A ++
|
||||
| # # * |
|
||||
| * |
|
||||
| *** |
|
||||
| |
|
||||
| |
|
||||
| *** # # |
|
||||
2 ++ A ##############B### ++
|
||||
| * # # |
|
||||
| *** |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| # # |
|
||||
1 A* ##################B##### ++
|
||||
** # # |
|
||||
| |
|
||||
+ + + + + + + + +
|
||||
+-----------+----------+-----------+----------+-----------+----------+-----------+----------+
|
||||
1 1.5 2 2.5 3 3.5 4 4.5 5
|
||||
|
||||
EOF
|
||||
|
||||
|
||||
SKIP:
|
||||
{
|
||||
|
||||
@@ -2183,7 +2327,7 @@ sub tryplot
|
||||
my %args = @_;
|
||||
|
||||
my @options = ('--exit',
|
||||
'--extracmds', 'unset grid',
|
||||
qw(--unset grid),
|
||||
'--terminal', 'dumb 100,40');
|
||||
unshift @options, @{$args{options}};
|
||||
|
||||
|
Reference in New Issue
Block a user