Compare commits

...

84 Commits
v1.38 ... v1.55

Author SHA1 Message Date
Dima Kogan
c8dac15db3 version bump 2020-07-20 15:51:49 -07:00
Dima Kogan
4244299169 Revert "Removed reference to no-longer-existing variable"
This reverts commit 7e1e6af184.

This commit did nothing other than introduce a bug. --style is supposed to
override --with, but after this commit, --style was ADDED to --with, which is
wrong
2020-07-20 15:47:32 -07:00
Dima Kogan
4234c94737 minor documentation update 2020-05-19 08:59:56 -07:00
Dima Kogan
154377691c minor documentation update 2020-05-19 08:54:01 -07:00
Dima Kogan
bdb9919c39 documented --every 2020-04-17 14:18:09 -07:00
Dima Kogan
4e85f991c4 version bump 2020-04-17 14:07:08 -07:00
Dima Kogan
2e6c9d6ea3 added tab completions for --every and --everyall 2020-04-17 14:06:10 -07:00
Dima Kogan
c4eef7a167 --timefmt can be used with --histogram 2020-04-17 14:01:17 -07:00
Dima Kogan
7e1e6af184 Removed reference to no-longer-existing variable 2020-03-06 22:16:07 -08:00
Dima Kogan
e9c9ff02e4 Minor no-op refactoring 2020-03-06 22:16:07 -08:00
Dima Kogan
2f9a6acdb3 Minor no-op refactoring
The ID->curve hash %curveIndices is now called $curveFromID, and now gives you a
curve reference, not an index to @curves

I can thus reorder @curves as I like, and %curveFromID remains valid
2020-03-06 22:14:40 -08:00
Dima Kogan
5e0869dc25 Added support for --every and --everyall
Needs documentation, tab completion
2020-01-24 19:24:02 -08:00
Dima Kogan
592ce20d1f readme update
github had a bug where it wouldn't render symlinks to embedded POD. Is this
still broken?
2020-01-08 21:20:50 -08:00
Dima Kogan
373b97092e version bump 2020-01-08 18:55:52 -08:00
Dima Kogan
e4523f97e7 documentation 2019-12-16 20:37:36 -08:00
Dima Kogan
d73118087a Full support for all 4 2d axes
Before I'd default to x1y1, and I could use x1y2 if --y2. Now I can ask for
--x1y2 and --x2y1 and --x2y2
2019-11-13 13:50:07 -08:00
Dima Kogan
b8111af563 added forgotten options to the tab-completions 2019-09-11 14:57:40 -07:00
Dima Kogan
54fc8c625d version bump 2019-08-25 15:32:55 -07:00
Dima Kogan
8bb0c3a7d8 Manual POD update
Maybe github fixed their bug already? I should check
2019-08-25 15:32:08 -07:00
Dima Kogan
29f4f5a368 Added --squarexy and --square-xy as synonyms to --square_xy 2019-06-27 11:11:20 -07:00
Dima Kogan
55faefec8b README has link to SCaLE talk 2019-03-10 18:09:47 -07:00
Dima Kogan
77f54da873 extracted POD into README.pod. manually 2019-01-14 18:22:25 -08:00
Dima Kogan
b5275d6386 manually extracted README.pod to a file to work around github bug 2019-01-14 18:18:19 -08:00
Dima Kogan
481f18a5fb added note to INSTALL file 2018-11-29 17:17:14 -08:00
Dima Kogan
40fea5eb7f changelog bump 2018-09-29 10:57:37 -07:00
Dima Kogan
016c7ebfa9 Added a new .gp terminal to create self-plotting gnuplot scripts 2018-09-29 10:55:36 -07:00
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
Dima Kogan
69bd05eddb version bump 2018-02-22 23:38:10 -08:00
Dima Kogan
ca61de7441 Vnlog integration 2018-02-22 23:35:59 -08:00
Dima Kogan
851eb46aa8 Initial implementation of --vnlog. Undocumented 2018-02-22 12:37:46 -08:00
Dima Kogan
f2ac9c91b8 slightly better documentation plot 2018-02-02 12:22:32 -08:00
Dima Kogan
e79659a10d minor documentation updates 2017-12-23 00:07:21 -08:00
Dima Kogan
2aa51d2a60 Added --tuplesize and --tuplesizeall
These are just convenience options that are VERY similar to --rangesize and
--rangesizeall. But adding these makes this tool nicely similar to gnuplotlib
2017-12-22 23:56:07 -08:00
Dima Kogan
3bf2fa43ef Un-documented --extraValuesPerPoint
This is awkward and I want to get rid of it. It still works, but there's no more documentation for it
2017-12-22 23:30:25 -08:00
Dima Kogan
9cc67cdaeb new release 2017-10-29 14:02:46 -07:00
Dima Kogan
07a109b09a zsh completion: --hardcopy suggests filenames too
Generally --hardcopy should produce new files, but the completion is still
useful.
2017-10-11 18:42:17 -07:00
Dima Kogan
7b3040ecc9 --image now produces a nicer legend: just the filename 2017-10-11 18:32:31 -07:00
Dima Kogan
b59137c255 zsh completions: --image suggests files, --hardcopy does NOT suggest files
--image reads existing files, so it should ask for existing files

--hardcopy creates new files, so it shouldn't suggest existing files
2017-09-30 23:16:41 -07:00
Dima Kogan
fec440c8b3 --curvestyle now overrides --curvestyleall
This is how it was supposed to work, but apparently it didn't work this way:
--curvestyleall options were active for ALL the curves
2017-09-30 22:53:43 -07:00
Dima Kogan
5758865246 custom settings are now set AFTER all our internal ones
Thus the custom settings take precedence
2017-09-30 19:16:54 -07:00
Dima Kogan
6f091d1cf2 The version is now treated as a string not as a number
Before this a version 1.40 was seen as 1.4
2017-09-30 11:02:37 -07:00
Dima Kogan
1c853a2193 zsh now completes filenames 2017-06-27 18:27:26 -07:00
Dima Kogan
defcf5ef59 changelog bump, release 2017-06-20 16:44:55 -07:00
Dima Kogan
ba112a3bd9 --image always goes on the FRONT of the equation list
The image is intended to be background, so I want it to be rendered first, with
everything else on top of it
2017-06-20 16:44:02 -07:00
Dima Kogan
7d7511e62e changelog update 2017-06-19 13:14:20 -07:00
Dima Kogan
1744aeb6d2 tab completion for --image 2017-06-19 13:11:42 -07:00
Dima Kogan
53f6cdae5b added --image as a convenience wrapper for --equation 2017-06-19 13:08:33 -07:00
Dima Kogan
ed9512924d version bump 2017-03-31 15:40:39 -07:00
Dima Kogan
2ee401fcb4 changelog update 2017-03-31 15:39:48 -07:00
Dima Kogan
7c1f02ec7f reworded manpage of --exit 2017-03-19 19:50:45 -07:00
Dima Kogan
5740e55a6f Data can now come from STDIN or files on the cmdline
This emulates the while(<>) syntax in perl, and makes self-plotting data files
work again. These have been broken since that syntax was taken away in
4cfcf0fc35
2017-03-19 19:50:34 -07:00
Dima Kogan
a0c9e6e8bc version bump 2017-02-24 23:44:20 -08:00
Dima Kogan
64b12e4738 When plotting histograms, --xlen can coexist with --xmin/--xmax 2017-02-09 19:12:18 -08:00
Dima Kogan
402fa32bda histograms work as expected with --xlen and --monotonic 2017-02-09 16:07:12 -08:00
Dima Kogan
7da37a0015 better sanity checking for histogram options 2017-02-09 14:16:58 -08:00
Dima Kogan
a48b834512 getRangeSize() function added to ocnsolidate that logic 2017-02-09 14:16:58 -08:00
Dima Kogan
888583abe9 version bump 2016-11-25 14:45:47 -08:00
Dima Kogan
e17f110269 changelog bump 2016-11-25 14:45:35 -08:00
Dima Kogan
89a185f8a6 the sleep-forever delay at end is now > 1000 days 2016-11-25 14:42:49 -08:00
Dima Kogan
35ed74eaf1 'any' is from List::MoreUtils, not List::Util 2016-11-25 14:41:39 -08:00
Dima Kogan
07f574a929 added a new recipe 2016-11-25 14:39:22 -08:00
Dima Kogan
5dce1d8cda --style and --rangesize can now take a comma-separated list of IDs 2016-11-25 14:39:15 -08:00
Dima Kogan
048b0db65c Slightly better docs 2016-11-25 13:54:22 -08:00
Dima Kogan
b0877a8926 If the options couldn't be parsed I don't dump the whole manpage 2016-11-25 13:33:48 -08:00
Dima Kogan
4958bda912 version bump 2016-10-15 20:50:58 -07:00
Dima Kogan
3860d8281b version bump 2016-10-15 20:42:27 -07:00
Dima Kogan
4f9adb6e11 histograms have the correct default style 2016-10-15 20:35:48 -07:00
Dima Kogan
167e85d2a7 minor simplification
I delete the with option after I use it. This is defensive and clarifies the
intent
2016-10-15 20:17:08 -07:00
Dima Kogan
5123ca73d3 minor simplification
I delete the style and styleall options after I use them. This is defensive and
clarifies the intent
2016-10-15 20:14:33 -07:00
Dima Kogan
d4ca90e1bd minor simplification
curvestyle_hash doesn't really exist anymore
2016-10-15 20:08:24 -07:00
Dima Kogan
9e669044c7 can now ask for fnormal histograms 2016-09-08 23:02:31 -07:00
Dima Kogan
cacbedb336 added sample rpm spec file 2016-07-27 23:08:22 -07:00
8 changed files with 2019 additions and 317 deletions

127
Changes
View File

@@ -1,8 +1,131 @@
feedgnuplot (1.55)
* Fixed regression introduced in 1.54:
--style now correctly overrides --with
-- Dima Kogan <dkogan@debian.org> Mon, 20 Jul 2020 15:51:23 -0700
feedgnuplot (1.54)
* Added --every and --everyall to decimate the input data
* --timefmt can be used with --histogram
-- Dima Kogan <dkogan@debian.org> Fri, 17 Apr 2020 14:06:55 -0700
feedgnuplot (1.53)
* Full support for all 4 axes. Added --x2...
-- Dima Kogan <dkogan@debian.org> Wed, 08 Jan 2020 18:55:29 -0800
feedgnuplot (1.52)
* Added --squarexy and --square-xy as synonyms to --square_xy
-- Dima Kogan <dima@secretsauce.net> Sun, 25 Aug 2019 15:32:37 -0700
feedgnuplot (1.51)
* Added .gp "terminal" to create self-plotting gnuplot files
-- Dima Kogan <dima@secretsauce.net> Sat, 29 Sep 2018 10:56:30 -0700
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)
* Added --tuplesize and --tuplesizeall as alternatives to --rangesize
and --rangesizeall. Both forms are supported.
* Vnlog integration
-- Dima Kogan <dima@secretsauce.net> Thu, 22 Feb 2018 23:37:54 -0800
feedgnuplot (1.45)
* zsh completion: --hardcopy, --image suggest filenames
* --image now produces a nicer legend: just the filename
* --curvestyle now overrides --curvestyleall
- This is a bug fix
* The version is now treated as a string not as a number
- So "1.40" is distinct from "1.4"
-- Dima Kogan <dima@secretsauce.net> Sun, 29 Oct 2017 13:56:28 -0700
feedgnuplot (1.44)
* --image draws its output beneath everything else
-- Dima Kogan <dima@secretsauce.net> Tue, 20 Jun 2017 16:44:30 -0700
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
- no enhanced text mode
- larger font size
-- Dima Kogan <dima@secretsauce.net> Wed, 27 Jul 2016 22:15:11 -0700

View File

@@ -10,4 +10,11 @@ Without a package, an installation can be done with
make
make install
This installs feedgnuplot to /usr/local. Adjust the paths as required
This installs feedgnuplot to /usr/local. Adjust the paths as required.
Also, note that this is a self-contained utility. Usually running from the tree
works just fine:
git clone https://github.com/dkogan/feedgnuplot.git
cd feedgnuplot/bin
./feedgnuplot ...

View File

@@ -20,9 +20,9 @@ sub parseversion
while(<PL>)
{
if( /VERSION = ([0-9\.]+)/ )
if( /VERSION = '([0-9\.]+)'/ )
{
if ( $1 != $version )
if ( $1 ne $version )
{
die "Version mismatch. Changes says version is '$version', but 'bin/feedgnuplot' says it is '$1'";
}
@@ -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-*' },

View File

@@ -1 +0,0 @@
bin/feedgnuplot

1009
README.pod Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -9,6 +9,8 @@ complete -W \
--curvestyleall \
--style \
--styleall \
--every \
--everyall \
--with \
--dataid \
--domain \
@@ -17,10 +19,13 @@ complete -W \
--extraValuesPerPoint \
--rangesizeall \
--rangesize \
--tuplesizeall \
--tuplesize \
--extracmds \
--set \
--unset \
--equation \
--image \
--geometry \
--hardcopy \
--help \
@@ -32,23 +37,31 @@ complete -W \
--monotonic \
--points \
--square \
--square_xy \
--square-xy \
--stream \
--terminal \
--timefmt \
--title \
--version \
--x2 \
--y2 \
--x2y1 \
--x1y2 \
--x2y2 \
--xlabel \
--xlen \
--xmax \
--xmin \
--y2 \
--y2label \
--y2max \
--y2min \
--x2label \
--x2max \
--x2min \
--ylabel \
--ymax \
--ymin \
--y2label \
--y2max \
--y2min \
--zlabel \
--zmax \
--zmin' feedgnuplot
--zmin \
--vnlog ' feedgnuplot

View File

@@ -10,22 +10,28 @@ _arguments -S
'--points' \
'--circles' \
'--xlabel:X-axis label:' \
'--x2label:X2-axis label:' \
'--ylabel:Y-axis label:' \
'--y2label:Y2-axis label:' \
'--zlabel:Z-axis label:' \
'--zlabel:Z-axis label:' \
'--title:Plot title:' \
'--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)--xmax:max X:' \
'--x2min:min X2:' \
'--x2max:max X2:' \
'--ymin:min Y:' \
'--ymax:max Y:' \
'--y2min:min Y2:' \
'--y2max:max Y2:' \
'--zmin:min Z:' \
'--zmax:max Z:' \
'*--y2:plot to place on the Y2 axis:' \
'*--x2:curve to place on the X2Y1 axis:' \
'*--y2:curve to place on the X1Y2 axis:' \
'*--x2y1:curve to place on the X2Y1 axis:' \
'*--x1y2:curve to place on the X1Y2 axis:' \
'*--x2y2:curve to place on the X2Y2 axis:' \
'(--with)--curvestyleall[Additional styles for ALL curves]:style' \
'(--with)--styleall[Additional styles for ALL curves]:style' \
'(--curvestyleall)--with[Additional styles for ALL curves]:style' \
@@ -33,24 +39,30 @@ _arguments -S
'*--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:_files -g "(#i)*.(jpg|jpeg|png|gif)"' \
'--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' \
'--square-xy[For 3D plots, set square aspect ratio for ONLY the x,y axes]' \
'--hardcopy[Plot to a file]:new image filename:_files -g "(#i)*.(jpg|jpeg|png|gif)"' \
'--maxcurves[The maximum allowed number of curves]:number of curves' \
'(--3d)--monotonic[Resets plot if an X in the past is seen]' \
'(--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:' \
'(--extraValuesPerPoint)--tuplesizeall[How many values are given for each data tuple]:N'\
'*--tuplesize[How many values comprise a data tuple 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:' \
'*--style[Additional styles for a curve]:curve id: :style:' \
'*--every[Decimation factor for a curve]:curve id: :decimation factor:' \
'--everyall[Decimation factor for ALL curves]:decimation factor' \
'(--3d)*--histogram:plot to treat as a histogram:' \
'--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":' \
'*--legend[Legend for a curve]:curve id: :legend:' \
'--exit[Exit gnuplot after making the plot]' \
'--version' \
'--help' \
'--timefmt[Format for time/date data]:time format'
'--timefmt[Format for time/date data]:time format' \
'--vnlog[column IDs come from a vnlog header]'

58
feedgnuplot.spec Normal file
View 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}