function-graph
v0.1.2
Published
Easily draw function graphs via NodeJS in Terminal.
Maintainers
Readme
ASCII Function Graphs
Easily draw function graphs via NodeJS in Terminal.
Constructor
new FunctionGraph (options)
options is an object containing the following fields:
height: the height of the graph (default: 40)width: the width of the graph (default: 60)centeran object containing:x: the x origin (default: width / 2)y: the y origin (default: height / 2)
marksan object containing:hAxis: the character for drawing horizontal axis (default '-')vAxis: the character for drawing vertical axis (default '|')center: the character for axis intersection (default '+')point: the character for drawing points (default '#')
Methods
addPoint (x, y)
x and y are the coordinates of the new point that will be added
toString()
Returns the stringified graph.
Example
// dependencies
var FunctionGraph = require("function-graph");
/**
* We will print the graph for this function.
*
*/
function foo (x) {
return Math.sin(x);
}
// create a new function graph
var graph = new FunctionGraph ({
height: 30
, width: 60
, marks: {
hAxis: '─'
, vAxis: '│'
, center: '┼'
, point: '•'
}
});
// for [-25, 48) add points
for (var i = -25; i < 48; i += 0.001) {
graph.addPoint(i * 2, 5 * foo(i));
}
console.log("Below you will see the sinus graph:")
// output graph
console.log(graph.toString());How to test
$ npm install function-graph
$ cd node_modules/function-graph
$ npm test
> [email protected] test /home/.../function-graph
> node test/1.js
Below you will see the sinus graph:
^
│
│
│
│
│
│
│
│
│
│
•••• ••• │•••• ••• ••••
• • •• •• │• • •• •• • •
•• •• • • •• •• • •• ••
• • •• •• • • •• • •
─────••────••─────•─────••────•────••─────•─────••────••───>
• • • •• • • •• •• • •
• •• •• • •• •• • • •• ••
•• • •• •• • •│ •• •• • •
•••• ••• ••••│ ••• ••••
│
│
│
│
│
│
│
│
│
│Changelog
0.1.2- better example
- added comments
0.1.1- Added
options.markssetting (#4)
- Added
0.1.0Initial release
License
See the LICENSE file.
