# MathGrapher: Graphing Calculator-Function Grapher

A free online 2D graphing calculator (plotter), or curve calculator, that can plot piecewise, linear, quadratic, cubic, quartic, polynomial, trigonometric, hyperbolic, exponential, logarithmic, inverse functions given in different forms: explicit, implicit, polar, and parametric. It can also graph conic sections, arbitrary inequalities or systems of inequalities, slope fields (vector fields or direction fields), and visualize the Riemann Sum. Plots can be styled and customized according to needs.

To plot a 3d graph, use the 3d grapher.

- In general, you can skip the multiplication sign, so `5x` is equivalent to `5*x`.
- In general, you can skip parentheses, but be very careful: e^3x is `e^3x`, and e^(3x) is `e^(3x)`.
- Also, be careful when you write fractions: 1/x^2 ln(x) is `1/x^2 ln(x)`, and 1/(x^2 ln(x)) is `1/(x^2 ln(x))`.
- If you skip parentheses or a multiplication sign, type at least a whitespace, i.e. write sin x (or even better sin(x)) instead of sinx.
- Sometimes I see expressions like tan^2xsec^3x: this will be parsed as `tan^(2*3)(x sec(x))`. To get `tan^2(x)sec^3(x)`, use parentheses: tan^2(x)sec^3(x).
- Similarly, tanxsec^3x will be parsed as `tan(xsec^3(x))`. To get `tan(x)sec^3(x)`, use parentheses: tan(x)sec^3(x).
- From the table below, you can notice that sech is not supported, but you can still enter it using the identity `sech(x)=1/cosh(x)`.
- If you get an error, double-check your expression, add parentheses and multiplication signs where needed, and consult the table below.
- All suggestions and improvements are welcome. Please leave them in comments.

Type | Get |

Constants | |

e | e |

pi | `pi` |

i | i (imaginary unit) |

Operations | |

a+b | a+b |

a-b | a-b |

a*b | `a*b` |

a^b, a**b | `a^b` |

sqrt(x), x^(1/2) | `sqrt(x)` |

cbrt(x), x^(1/3) | `root(3)(x)` |

root(x,n), x^(1/n) | `root(n)(x)` |

x^(a/b) | `x^(a/b)` |

x^a^b | `x^(a^b)` |

abs(x) | `|x|` |

Functions | |

e^x | `e^x` |

ln(x), log(x) | ln(x) |

ln(x)/ln(a) | `log_a(x)` |

Trigonometric Functions | |

sin(x) | sin(x) |

cos(x) | cos(x) |

tan(x) | tan(x), tg(x) |

cot(x) | cot(x), ctg(x) |

sec(x) | sec(x) |

csc(x) | csc(x), cosec(x) |

Inverse Trigonometric Functions | |

asin(x), arcsin(x), sin^-1(x) | asin(x) |

acos(x), arccos(x), cos^-1(x) | acos(x) |

atan(x), arctan(x), tan^-1(x) | atan(x) |

acot(x), arccot(x), cot^-1(x) | acot(x) |

asec(x), arcsec(x), sec^-1(x) | asec(x) |

acsc(x), arccsc(x), csc^-1(x) | acsc(x) |

Hyperbolic Functions | |

sinh(x) | sinh(x) |

cosh(x) | cosh(x) |

tanh(x) | tanh(x) |

coth(x) | coth(x) |

1/cosh(x) | sech(x) |

1/sinh(x) | csch(x) |

Inverse Hyperbolic Functions | |

asinh(x), arcsinh(x), sinh^-1(x) | asinh(x) |

acosh(x), arccosh(x), cosh^-1(x) | acosh(x) |

atanh(x), arctanh(x), tanh^-1(x) | atanh(x) |

acoth(x), arccoth(x), cot^-1(x) | acoth(x) |

acosh(1/x) | asech(x) |

asinh(1/x) | acsch(x) |

To draw a parabola, circle, ellipse or hyperbola, choose the "Implicit" option.

You can pass a function as a parameter: https://www.emathhelp.net/calculators/calculus-1/online-graphing-calculator/?y=sin(x)&y=cos(x) will draw y=sin(x) and y=cos(x).

*Pan the graph (move it) by holding the Shift key and dragging the graph with the mouse.*

*Zoom the graph in and out by holding the Shift key and using the mouse wheel.*

*The above operations can be very slow for more than 2 graphs. To avoid it, delete all graphs, pan and zoom, and then plot the graphs again.*