use List::Util qw( min max sum );
use open qw( :std :utf8 );
-our $VERSION = '1.06';
+our $VERSION = '1.07';
use Getopt::Long '2.33', qw( :config gnu_getopt );
my %opt;
sub show_lines {
state $nr = $opt{hidemin};
-@lines and @lines > $nr or return;
@lines or return;
-@lines > $nr or return unless $opt{hidemin};
+@lines > $nr or return;
@order = sort { $b <=> $a } @order unless tied @order;
my $maxval = $opt{maxval} // (
}
}
-@lines > $nr or return if $opt{hidemin};
-
say(
color(31), sprintf('%*s', $lenval, $minval),
color(90), '-', color(36), '+',
In case of additional colors,
the last is used for values equal to the maximum, the first for minima.
If unspecified, these are green and red respectively (I<31 90 32>).
+Multiple intermediate colors will be distributed
+relative to the size of values.
+
+Predefined color schemes are named I<whites> and I<fire>,
+or I<greys> and I<fire256> for 256-color variants.
=item --spark[=<characters>]
echo 'SELECT count(*),schemaname FROM pg_tables GROUP BY 2' |
psql -t | barcat -u
+In PostgreSQL from within the client:
+
+ postgres=> SELECT sin(generate_series(0, 3, .1)) \g |barcat
+
Earthquakes worldwide magnitude 1+ in the last 24 hours:
https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/1.0_day.csv |
- column -tns, | graph -f4 -u -l80%
+ column -tns, | barcat -f4 -u -l80%
External datasets, like movies per year:
( git log --pretty=%ci --since=30day | cut -b-10
seq 0 30 | xargs -i date +%F -d-{}day ) |
- sort | uniq -c | awk '$1--' | graph --spark
+ sort | uniq -c | awk '$1--' | barcat --spark
=head1 AUTHOR