The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

txdhistogram - create histogrms of textual data files

DESCRIPTION

        script/txdhistogram 3 < data.dat
would print out a histogram of column 3 in data.dat

You can also choose to apply a weight to the data points an influence the binning. Default value for the colum is the last one present in the file.

PARAMETERS

These are the general rules for specifying parameters to this program:

        txdhistogram -s -xyz -s=value --long --long=value [--] [files/stuff]

You mention the options to change parameters in any order or even multiple times. They are processed in the oder given, later operations overriding/extending earlier settings. Using the separator "--" stops option parsing An only mentioned short/long name (no "=value") means setting to 1, which is true in the logical sense. Also, prepending + instead of the usual - negates this, setting the value to 0 (false). Specifying "-s" and "--long" is the same as "-s=1" and "--long=1", while "+s" and "++long" is the sames as "-s=0" and "--long=0".

There are also different operators than just "=" available, notably ".=", "+=", "-=", "*=" and "/=" for concatenation / appending array/hash elements and scalar arithmetic operations on the value. Arrays are appended to via "array.=element", hash elements are set via "hash.=name=value". You can also set more array/hash elements by specifying a separator after the long parameter line like this for comma separation:

        --array/,/=1,2,3  --hash/,/=name=val,name2=val2

The available parameters are these, default values (in Perl-compatible syntax) at the time of generating this document following the long/short names:

bincount, n (scalar)
        10

specify fixed number of bins (dividing min-max range)

binpoint, p (scalar)
        -1

align fixed-width bins to this value if >= 0; align to beginning of range if < 0

binwidth, w (scalar)
        0

width of one bin represented by one histogram point (overrides bincount)

black (scalar)
        0

ignore whitespace at beginning and end of line (disables strict mode) (from Text::NumericData)

comchar (scalar)
        undef

comment character (if not set, deduce from data or use #) (from Text::NumericData)

comregex (scalar)
        '[#%]*[^\\S\\015\\012]*'

regex for matching comments (from Text::NumericData)

config, I (array)
        []

Which configfile(s) to use (overriding automatic search in likely paths); special: just -I or --config causes printing a current config file to STDOUT

cumulative, c (scalar)
        0

add columns with cumulative counts at/below and at/above the current bin

discrete, d (scalar)
        0

do not use binning, count on discrete points (text string comparison, no rounding!)

empty (scalar)
        0

treat empty lines as empty data sets, preserving them in output (from Text::NumericData)

fill (scalar)
        undef

fill value for undefined data (from Text::NumericData)

help, h (scalar)
        0

Show the help message. Value 1..9: help level, par: help for paramter par (long name) only.

Additional fun with negative values, optionally followed by comma-separated list of parameter names: -1: list par names, -2: list one line per name, -3: -2 without builtins, -10: dump values (Perl style), -11: dump values (lines), -100: print POD.

lineend (scalar)
        undef

line ending to use: (DOS, MAC, UNIX or be explicit if you can, taken from data if undefined, finally resorting to UNIX) (from Text::NumericData)

numformat, N (array)
        []

printf formats to use (if there is no "%" present at all, one will be prepended) (from Text::NumericData)

numregex (scalar)
        '[\\+\\-]?\\d*\\.?\\d*[eE]?\\+?\\-?\\d*'

regex for matching numbers (from Text::NumericData)

outsep (scalar)
        undef

use this separator for output (leave undefined to use input separator, fallback to TAB) (from Text::NumericData)

quote (scalar)
        undef

quote titles (from Text::NumericData)

quotechar (scalar)
        undef

quote character to use (derived from input or ") (from Text::NumericData)

separator (scalar)
        undef

use this separator for input (otherwise deduce from data; TAB is another way to say "tabulator", fallback is ) (from Text::NumericData)

strict, S (scalar)
        0

strictly split data lines at configured separator (otherwise more fuzzy logic is involved) (from Text::NumericData)

text, T (scalar)
        1

allow text as data (not first column) (from Text::NumericData)

version (scalar)
        0

print out the program version

weightcol, W (scalar)
        0

column containing weights to add instead of simple counting

AUTHOR

Thomas Orgis <thomas@orgis.org>

LICENSE AND COPYRIGHT

Copyright (c) 2005-2023 Thomas Orgis, Free Software licensed under the same terms as Perl 5.10