Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Histo

Plot histograms in the terminal with arbitrary streaming or non-streaming data.

$ histo < data.txt

terminal histogram

Features

  • simple input via stdin
  • simple C API for integration in your tools
  • supports static or streaming data
  • adjusts to terminal width and height
  • adjusts x-axis labels to the integer size
  • negative values reflect as shaded blocks

Use-cases

  • cpu usage
  • memory usage
  • load averages
  • ...

Installation

With cpm:

$ cpm install visionmedia/histo

Or via git clone:

$ cd /tmp && git clone git://github.com/visionmedia/histo.git --depth 1 && cd histo && make install

Examples

histo(1) simply reads from stdin, so it works well with streaming or non-streaming data, from any data source. This repo includes some example files in ./examples, as well as some example shell scripts for streaming input.

Static input

hist(1) simply reads from stdin, so it's easy to throw static data at it for quick analysis:

1
4
5
12
8
15
18
20
5
2
1
5
2
10
2

Displayed with:

$ histo < example.txt

Dynamic input

You may stream data to histo(1) and tell it to quit with EOF, for example here's a small shell script to generate some random data:

while true; do
  echo $RANDOM
  sleep .5
done

Display with:

$ sh example.sh | histo

Screenshots

Negative values are shown as shaded blocks:

histogram with negative values

Adjusts properly to the size of the terminal:

size adjustment

tall

License

MIT

About

beautiful histograms in the terminal for static or streaming data

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages