ngx-math-function-plotter v1.0.0
MathFunctionPlotter
This project was generated with Angular CLI version 7.0.2.
An angular library that has a component for plotting math functions with built in math expressions & single variable computation.
Table of supported math operations:
Operation | Syntax | # of operands |
---|---|---|
Addition | + | 2 |
Subtraction | sub | 2 |
Multiplication | * | 2 |
Division | / | 2 |
L.Parantheses | ( | >=1 |
R.Parantheses | ) | >=1 |
sin | sin | 1 |
cos | cos | 1 |
tan | tan | 1 |
seq | seq | 1 |
csc | csc | 1 |
cot | cot | 1 |
power | ^ | 2 |
square root | sqr | 1 |
minus | - | 1 |
Usage
Plotter
Inside your module import it as:
import {NgxMathFunctionPlotterModule} from 'ngx-math-function-plotter';
Then inside your component .html
add the plotter component tag:
<ngx-math-function-plotter [functionInput]="'sin(x)'" [maxDisplayValue]="10" [width]="600" [height]="600">
</ngx-math-function-plotter>
Result will be as follow:
Math Expression parser
For parsing mathmatical expressions service NgxSingleVariableFunctionParserService
can be used inside needed component .ts
:
First import the service as follows:
import { NgxSingleVariableFunctionParserService } from 'ngx-math-function-plotter';
Then inside the class will be as:
export class AppComponent {
title = 'PlotterTest';
mathExpressionParser: NgxSingleVariableFunctionParserService;
constructor(mathExpressionParser: NgxSingleVariableFunctionParserService) {
this.mathExpressionParser = mathExpressionParser;
this.mathExpressionParser.setMathFunctionText('x+1'); // single variable expression
const number = this.mathExpressionParser.computeFunctionAtValue(1); // 2 is displayed
alert(number);
this.mathExpressionParser.setMathFunctionText('sqr(4*4)'); // constant expression
// input in following statement has no effect since expression is constant
const constantExpressionResult = this.mathExpressionParser.computeFunctionAtValue(0);
alert(constantExpressionResult); // 4 is displayed
}
Build
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the --prod
flag for a production build.
Running unit tests
Run ng test --project NgxMathFunctionPlotter
to execute the unit tests via Karma.
Further help
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.