beautiful charts in the terminal for static or streaming data
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
deps
examples
src
.gitignore
Makefile
Readme.md
package.json

Readme.md

Histo

Plot charts 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

histo(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 | 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