3.2.7 • Published 2 years ago

catchart v3.2.7

Weekly downloads
3
License
MIT
Repository
github
Last release
2 years ago

catchart

(pronounced ca-chart)

Pipe something from command line to a chart in the browser

uses chart.js for, ahem, charting...

npm status

command line

npm i -g catchart

catchart --help

simple y over t

echo 1\n2\n3\n | catchart

custom label / value

echo sunday,1,2,3\nmonday,4,5,6\ntuesday,7,8,9\n | catchart --labelSource=row

multiple data sets over time

echo 1,2,3\n4,5,6\n-1,-2,-3\n | catchart

other chart types, custom title

echo 1,2,3\n4,5,6\n-1,-2,-3 | catchart --title=catchart --chartType=bar

chart types: line, bar, radar, pie, doughnut, scatter, polar, bubble

JSON input works too!

echo "{ \"data\": 1 }"\n"{ \"data\": 2, \"label\": \"foo\" }"\n | catchart

api

catchart cli in it's simplest form, looks very much like this:

const { pipeline } = require('stream')
const catchart = require('./index')
const split = require('split')

pipeline(process.stdin, split(), catchart(), err => err ? console.error(err) : undefined)

features

  • support most of chart.js chart types
  • support json and simple array input formats
  • specify configuration through environment variables, files or cli parameters (see rc module and commander module for further information)
  • fill the area under the line, also supports patterns.
  • restrict the amount of displayed data using --windowSize. Catchart will dump data that falls outside of the window.
  • align data to a left or right Y axis using configuration or automatically:
    • --yLeft=[0, 1, 2] and --yRight=[3, 4] will make series 0, 1 and 2 be on the left and 3,4 on the right. When using this config, all the series indices must be specified. With arrays the first item is the X value, if your input array is 1,2,3,4,5, yLeft=0,1 and yRight=3,4 will put 2 and 3 on the left Y axis and 3,4 on the right Y axis for X=1
    • Auto align Y axis: a somewhat feeble/experimental attempt at grouping series with similar magnitude on the left and right Y axes. --disableAutoAlignYAxis to disable

dev

  • clone this repo
  • hack
  • npm run build_client; node emitter <csv | singlecsv | json> | node catchart`
  • also node emitter.js csv | node catchart.js --yLeft=[0,1] --yRight=[2,3]
  • send a PR :)

TODOS

  • refactor code, especially server
  • write tests (right now using emitter.js to test manually)

license

MIT © Yaniv Kessler

3.2.7

2 years ago

3.2.2

2 years ago

3.2.1

2 years ago

3.2.0

2 years ago

3.2.5

2 years ago

3.2.4

2 years ago

3.2.3

2 years ago

3.1.2

2 years ago

2.0.9

2 years ago

2.0.10

2 years ago

3.1.1

2 years ago

3.0.2

2 years ago

3.1.0

2 years ago

3.0.0

2 years ago

2.0.8

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.0.5

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.4

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.1.0

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago