diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/cli/seqstat.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/cli/seqstat.py b/src/cli/seqstat.py new file mode 100755 index 0000000..a9d5e64 --- /dev/null +++ b/src/cli/seqstat.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 + +import click + +ticks = ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"] + + +def histogram(sequence): + min_val = min(sequence) + max_val = max(sequence) + + scale = (int(max_val - min_val) << 8) / (len(ticks) - 1) + if scale < 1: + scale = 1 + + return [ticks[int((int(i - min_val) << 8) / scale)] for i in sequence] + + +@click.command() +@click.argument('numbers', nargs=-1, type=float) +def cli(numbers): + h = histogram(numbers) + print("".join(h)) + + +if __name__ == "__main__": + cli() |