svg-plot

0.0.6 • Public • Published

svg-plot.js

NPM version MIT license

svg-plot.js is a simple library to programatically create svg plots from csv formatted data. This is designed for regression testing where a visual component of data is desired.

Install:

nmp install svg-plot

Usage:

var svg_plot = require('svg-plot.js');
svg_plot.plot(csvData,options)

Column CSV Example:

var fs = require('fs');
var svg_plot = require('../svg-plot.js')
var csvString = fs.readFileSync('testThermal.csv').toString();

svg_plot.plot(csvString,{
    fileName:'myPlot',
    timeKey:'Time'
});

// Generates myPlot.svg

Usage Output: examples/myPlot.svg

Note, this will render on github but may not on npm's registery. See examples/myPlot.svg for reference.

CSV Format examples/testThermal.csv

Time,On,Temperature,Setpoint
0,63,60,70
10,68,59.97222222222222,70
20,68,60.01396604938272,70
30,68,60.05559392146776,70
40,68,60.097106160574796,70
...

Pivot(row) CSV Example:

This example demonstrates a pivot style csv file where the key is contained within the row itself. This example also demonstrates some more optional arguments.

var fs = require('fs');
var svg_plot = require('../svg-plot.js')
var csvString = fs.readFileSync('testpivotThermal.csv').toString();

svg_plot.plot(csvString,{
    fileName:'mypivotPlot',
    timeKey:'Time',
    pivotCSV:true,
    pivotKey:'Point',
    pivotValue:'Value',
    y2List:['heat1'],
    includeList:['activeSp','temperature','heat1'],
    title: 'Heating Example',
    y2Range:[0,3]
});

Usage Output: examples/myPivotPlot.svg

CSV Format examples/testPivotThermal.csv

Event,Point,Value,Time,Info
[COV],temperature,70.000,0.000,
[COV],temperature_cov,0.100,0.000,
[COV],temperature_period,5000.000,0.000,
[COV],humidity,1.000,0.000,
[COV],humidity_cov,0.500,0.000,
[COV],csp,72.000,0.000,
[COV],hsp,72.000,0.000,
[COV],cspLimit,50.000,0.000,
[COV],hspLimit,99.000,0.000,
...

Required Arguments:

Key Type Example Description
fileName string myFile.svg Name of the svg file to be generated
timeKey string Date Name of the key that defines time. E.g: Date,Timestamp,Time

Optional Arguments:

Key Type Example Description
pivotCSV bool false Defines whether the key is in a column or a row. When the key is in the row, pivotCSV should be true
pivotKey string 'PointName' Only applicable if pivotCSV is true: Define the column key which defines the row key. See pivot(row) CSV Example example.
pivotValue string 'Value' Only applicable if pivotCSV is true: Define the column key which defines the row value. See pivot(row) CSV Example example.
y2List string array ['heat','cool'] Defines what, if any, keys get assigned to the y2 axis.
ignoreList string array ['heat','cool'] If defined, it defines what keys are ignored / not plotted.
includeList string array ['heat','cool'] If defined, it defines what keys are plotted
y1Curve d3.[curveType] d3.curveLinear If defined, defines the curve style. See http://bl.ocks.org/emmasaunders/c25a147970def2b02d8c7c2719dc7502
y2Curve d3.[curveType] d3.curveLinear If defined, defines the curve style. See http://bl.ocks.org/emmasaunders/c25a147970def2b02d8c7c2719dc7502
title string 'MyTitle' If defined, it defines the title of the plot
y2Range float array [0,100] If defined, it defines the [min,max] of the yRange.

About:

This library is a wrapper around d3-node which is a wrapper around d3.

Readme

Keywords

none

Package Sidebar

Install

npm i svg-plot

Weekly Downloads

0

Version

0.0.6

License

MIT

Unpacked Size

167 kB

Total Files

10

Last publish

Collaborators

  • natezimmer