📅 You're Invited: Meet the Socket team at RSAC (April 28 – May 1).RSVP
Socket
Sign inDemoInstall
Socket

chart-stream

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

chart-stream

Chart time series data from either STDIN or programmatically from any Node.js app in real time directly in your browser

1.1.1
latest
Source
npm
Version published
Weekly downloads
38
18.75%
Maintainers
1
Weekly downloads
 
Created
Source

chart-stream

Chart time series data from either STDIN or programmatically from any Node.js app in real time directly in your browser.

chart

Build status js-standard-style

Installation

Use from the command line:

npm install chart-stream -g

Use programmatically:

npm install chart-stream --save

CLI Usage

Pipe CSV data into STDIN of the chart-stream binary. Your default browser will then automatically be opened and the CSV data will be plotted live in a chart directly in your browser:

node examples/hyperbel.js | chart-stream

chart-stream expects the input to contain an optional header row followed by rows of numbers. If the optional header row is given, the headers will be used as labels in the chart. Each column of numbers will be plotted as a line in the graph.

Programmatic Usage

var chart = require('chart-stream')
var csvWriter = require('csv-write-stream')
var memoryUsage = require('memory-usage')

memoryUsage(2000)
  .pipe(csvWriter())
  .pipe(chart(ready))

function ready (url) {
  console.log('Open %s in your browser to see the chart', url)
}

API

The chart-stream module exposes a function which when called will return a writable stream and create an HTTP server which serves the chart. The function expects a callback as its only argument. The callback will be called with the URL for the chart.

When CSV data is written to the returned stream, the chart will be updated, plotting the data from the stream.

The stream expects an optional header row followed by rows of numbers. If the optional header row is given, the headers will be used as labels in the chart. Each column of numbers will be plotted as a line in the graph.

var chart = require('chart-stream')(function (url) {
  console.log('Open %s in your browser to see the chart', url)
})

chart.write('x*2,y/2')
plot(1, Math.pow(2, 30))

function plot (x, y) {
  chart.write(x + ',' + y)
  if (y <= 1) return
  setTimeout(plot, 100, x * 2, Math.round(y / 2))
}

License

MIT

Keywords

chart

FAQs

Package last updated on 03 Feb 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts