Type any expression in x (e.g. sin(x), x^2 - 4, 1/x) and the curve plots live.
Click + Add function to overlay multiple curves. Each gets a distinct color.
Set the function type to Parametric to plot (x(t), y(t)) over a t-range.
Set the function type to Polar to plot r(θ) in polar coordinates.
Drag the canvas to pan; mouse wheel or pinch to zoom; Reset view returns to the original window.
Move your cursor over the canvas to read off (x, y) coordinates.
Click Save as PNG to download a copy of the current graph.
Supported math
All standard functions: sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, exp, log (base e), log10, log2, sqrt, cbrt, abs, floor, ceil, round, pow(a,b), min(a,b), max(a,b). Constants: pi, e. Operators: + - * / % ^ (where ^ is exponentiation).
When to use a graphing calculator
A graphing calculator turns symbolic functions into something you can see. That visual layer matters most in three situations. First, when you need a sanity check on an algebraic answer — sketching x^2 - 4 = 0 reveals the two roots at ±2 long before you finish the quadratic formula by hand. Second, when comparing functions: overlaying sin(x) and x instantly shows the small-angle approximation breaks down past about 0.5 radians. Third, when a closed-form solution doesn't exist (transcendental equations like x = cos(x)) and you need a graphical root estimate before reaching for Newton's method.
Reading a plot accurately
The default viewport is x ∈ [-10, 10], y ∈ [-10, 10]. Three habits keep your readings honest. Zoom in on suspected features: a "smooth" curve at default zoom can hide an inflection point, a tiny minimum, or a removable discontinuity at higher resolution. Watch for vertical asymptotes — this plotter breaks the line where the function shoots to infinity, but a connected line at the asymptote is a rendering artifact, not a real value. Cross-check the cursor readout against your expected values; if your cursor reads (3.0, 9.1) on y = x^2, you're seeing the difference between continuous math and the canvas's discrete pixel grid.
Parametric and polar modes
Parametric plots take two functions of a parameter t and render the path traced as t advances through its range. Classic examples: a circle is x(t) = cos(t), y(t) = sin(t) for t ∈ [0, 2π]; a Lissajous figure is x(t) = sin(3t), y(t) = sin(2t). Polar plots take a single function r(θ) and render the radius as θ sweeps the unit circle. Try r = 2 + 2*sin(θ) for a cardioid or r = sin(4*θ) for an eight-petal rose. Both modes use the same expression syntax as the standard y = f(x) mode.
Common mistakes
Three errors show up over and over: forgetting parentheses on function calls (write sin(x), not sin x); skipping explicit multiplication (2*x, not 2x — the parser doesn't infer juxtaposition); and assuming the calculator solves the equation symbolically. This tool plots the function — to find roots, eyeball the x-intercepts and refine with a numeric solver, or use the algebra calculators linked below.
Frequently Asked Questions
Most syntax errors are typos: missing parens (use sin(x) not sinx), implicit multiplication (use 2*x not 2x), or unsupported functions. The expression box turns red when invalid.
The plotter automatically breaks the curve where it shoots to infinity (e.g. 1/x at x=0, tan(x) at π/2). No artifact connecting lines.
Yes — the share URL encodes the full state (functions, viewport, type). Bookmark or paste the link to return later. You can also export as PNG for static images.
Plot Cartesian, parametric, and polar functions instantly in your browser — no download required. Type any expression, adjust the viewing window, and the curve renders live. This reference covers the calculator's three coordinate modes, exact syntax rules, worked examples with non-round-number inputs, and a field guide to the most common graphing mistakes.
How to Use the Graphing Calculator
Getting your first curve on screen takes four steps: type an expression, pick a coordinate mode, adjust the window if needed, and press Enter (or click Graph). The calculator re-renders as you type, so you can watch the curve update character by character while building a complex expression.
Entering an Expression
Click inside the expression field and type your formula using standard keyboard characters. The default viewing window spans x ∈ [−10, 10] and y ∈ [−10, 10], which covers most introductory examples without any adjustment. Use the caret ^ for exponentiation and an asterisk * for every multiplication — implicit multiplication (writing 2x instead of 2*x) is not supported and will produce a parse error.
Choosing a Coordinate Mode (Cartesian, Parametric, Polar)
The mode dropdown sits directly above the expression field. Cartesian mode accepts a single expression for y in terms of x. Parametric mode opens two fields — one for x(t) and one for y(t) — plus a parameter range for t. Polar mode accepts r as a function of θ with a configurable θ range, defaulting to [0, 2π].
Setting the Viewing Window
Open the Window Settings panel to type exact bounds for x-min, x-max, y-min, and y-max. Zooming with the scroll wheel centers on the cursor position; clicking and dragging pans the canvas. For the parabola example below, a window of x ∈ [−1, 7], y ∈ [−3, 6] shows the vertex and both x-intercepts without wasted space.
Adding a Second Function
Click Add Function to open a second expression field; each active expression renders in a distinct color. Up to six functions can be plotted simultaneously on the same axes, which makes comparing curves — or visually locating intersection points — straightforward. To find roots algebraically once you have the graph, the Equation Solver handles the arithmetic.
Understanding Cartesian, Parametric, and Polar Coordinates
The three coordinate modes correspond to three distinct ways of describing where a point sits in the plane. Choosing the right mode is not merely a matter of preference — some curves physically cannot be expressed in one form without switching to another.
Cartesian (y = f(x))
Cartesian mode maps every real x value in the viewing window to exactly one y value via the expression y = f(x). This is the familiar "function of x" model covering lines, parabolas, polynomials, and most elementary functions. The domain is any real x for which the expression is defined, so y = ln(x) silently omits x ≤ 0. Because each x produces at most one y, a full circle cannot be drawn in this mode — it requires either two separate semi-circle expressions or a switch to parametric or polar.
Parametric Equations (x(t), y(t))
Parametric mode separates the x and y positions into two independent functions of a third variable, t. As t sweeps from its minimum to maximum value, the point (x(t), y(t)) traces the curve. The default parameter range is t ∈ [0, 2π], which completes most circular and elliptical paths. Because x and y each vary freely with t, the curve can double back, loop, or self-intersect — behaviors impossible in y = f(x) form. This matches the treatment in Stewart's Calculus, 8th edition, Chapter 10, where parametric equations are introduced precisely to handle such curves.
Polar Equations (r = f(θ))
Polar mode describes a point by its radial distance r from the origin and the angle θ measured counterclockwise from the positive x-axis, in radians. The calculator converts each (r, θ) pair to Cartesian coordinates before plotting, using the standard relations x = r·cos(θ) and y = r·sin(θ). Roses, spirals, limaçons, and cardioids all have compact polar forms that would be unwieldy to write in Cartesian terms. Increasing the θ range beyond 2π lets multi-revolution curves — like the Archimedean spiral r = 0.5θ — complete additional loops.
Cartesian vs Parametric vs Polar: Side-by-Side Comparison
Attribute
Cartesian
Parametric
Polar
Definition
y expressed as function of x
x and y each as functions of parameter t
Distance r as function of angle θ
Input format
y = f(x)
x(t), y(t); range for t
r = f(θ); range for θ
Typical use case
Lines, polynomials, standard functions
Ellipses, spirals, Lissajous figures
Roses, cardioids, spirals
Default parameter range
x ∈ [−10, 10]
t ∈ [0, 2π]
θ ∈ [0, 2π]
Example expression
y = x² − 3x + 2
x = 3cos(t), y = 2sin(t)
r = 1 + cos(θ)
Resulting shape
Upward parabola
Ellipse (semi-axes 3, 2)
Cardioid
Table 1. The three coordinate modes compared by definition, input format, typical application, parameter range, and a concrete example.
Syntax and Function Notation Guide
The expression parser follows standard PEMDAS operator precedence: parentheses are evaluated first, then exponents, then multiplication and division (left to right), then addition and subtraction. Memorizing a handful of exact keywords prevents most entry errors.
Arithmetic Operators and Operator Precedence (PEMDAS)
Use +, -, *, / for the four arithmetic operations, and ^ for exponentiation. Write x^2, not x² — the Unicode superscript character is not parsed. Fraction entries need explicit parentheses: 1/(2*x) is one-over-2x, while 1/2*x parses as (½)·x per left-to-right division. When in doubt, add parentheses.
Built-in Functions
Every function name must be followed by its argument in parentheses. Trigonometric functions — sin(x), cos(x), tan(x) — take arguments in radians. Inverse trig returns radians as well: asin(x), acos(x), atan(x). Other supported functions: sqrt(x) (square root), abs(x) (absolute value), log(x) (base-10 logarithm), ln(x) (natural logarithm), and exp(x) (equivalent to e^x but often cleaner to type). To differentiate a function after plotting, the Derivative Calculator accepts the same expression syntax.
Mathematical Constants
Enter π as pi or the character π; Euler's number e can be typed as a bare e in an expression like e^x, or used inside exp(x). Do not write 2e meaning 2·e — the parser reads that as the scientific-notation literal 2×10⁰, which equals 2. Write 2*e instead. Implicit multiplication is not supported anywhere: always insert * between a coefficient and a variable or function name.
Syntax Reference: Supported Operators, Functions, and Constants
Symbol / Keyword
What It Does
Example Input
Notes / Gotchas
+
Addition
x + 3
Lowest precedence with -
-
Subtraction / unary negation
-x^2
Unary minus: -x^2 = -(x²), not (−x)²
*
Multiplication
2*x
Required — 2x causes parse error
/
Division
1/(x+1)
Use parentheses for compound denominators
^
Exponentiation
x^3
Unicode superscripts (x²) not accepted
( )
Grouping / function call
(x+1)^2
Always close every open parenthesis
sin(x)
Sine
sin(pi/6)
Radians only; sin(30) ≠ 0.5
cos(x)
Cosine
cos(pi)
Radians only
tan(x)
Tangent
tan(x)
Vertical asymptotes at x = π/2 + nπ
asin(x)
Inverse sine (arcsin)
asin(0.5)
Domain: [−1, 1]; returns radians
acos(x)
Inverse cosine (arccos)
acos(0)
Domain: [−1, 1]; returns radians
atan(x)
Inverse tangent (arctan)
atan(1)
Returns π/4 ≈ 0.785
sqrt(x)
Square root
sqrt(x+1)
Returns NaN for x < −1 in this example
abs(x)
Absolute value
abs(x-2)
Produces V-shape; no domain restriction
log(x)
Base-10 logarithm
log(100) = 2
Domain: x > 0
ln(x)
Natural logarithm
ln(e) = 1
Domain: x > 0
exp(x)
e raised to the x
exp(1) ≈ 2.718
Equivalent to e^x
pi / π
π ≈ 3.14159…
sin(pi/2)
Both spellings accepted
e
Euler's number ≈ 2.71828
e^x
Write 2*e, not 2e (scientific notation conflict)
Table 2. Complete syntax reference for all supported operators, functions, and constants, with the most common entry mistake noted for each.
Worked Example: Plotting a Parabola
Inputs
Mode
Cartesian (y = f(x))
Expression
-0.75*x^2 + 4.2*x - 1.8
Viewing window
x ∈ [−1, 7], y ∈ [−3, 6]
Identifying the Vertex
The expression y = −0.75x² + 4.2x − 1.8 has a = −0.75, b = 4.2, c = −1.8. Because a < 0, the parabola opens downward and has a maximum at its vertex. The x-coordinate of the vertex is:
Select Cartesian (y = f(x)) mode from the coordinate mode dropdown.
Type -0.75*x^2 + 4.2*x - 1.8 into the expression field — use the caret ^ for exponentiation and * for every multiplication.
Open the Window Settings panel and set x: −1 to 7, y: −3 to 6.
Press Enter (or click Graph) to render the curve; the parabola appears opening downward.
Hover over the curve near its peak to confirm the vertex tooltip shows approximately (2.80, 4.08).
Click on the two spots where the curve crosses the x-axis to read the roots: x ≈ 0.468 and x ≈ 5.132. These can be verified with the quadratic formula: x = (−4.2 ± √(4.2² − 4(−0.75)(−1.8))) / (2 × −0.75) = (−4.2 ± √(17.64 − 5.4)) / −1.5 = (−4.2 ± √12.24) / −1.5 ≈ (−4.2 ± 3.499) / −1.5.
Optionally add a second expression y = 0 (the x-axis) to color-highlight the intercept points against the parabola.
Reading the Graph
Expected output: A downward-opening parabola with vertex at (2.8, 4.08), x-intercepts at approximately x ≈ 0.468 and x ≈ 5.132, and a y-intercept at (0, −1.8). The window x ∈ [−1, 7], y ∈ [−3, 6] frames all three key features without cutting any of them off at the edge of the canvas.
Worked Example: Parametric Ellipse and Polar Rose
Parametric Ellipse: x = 3cos(t), y = 2sin(t)
Switch the mode selector to Parametric. In the x(t) field enter 3*cos(t); in the y(t) field enter 2*sin(t). Leave the parameter range at the default t ∈ [0, 2π]. Click Graph and an ellipse appears centered at the origin, with a semi-major axis of a = 3 along the x-axis and a semi-minor axis of b = 2 along the y-axis.
The parametric form satisfies the standard ellipse equation because (x/3)² + (y/2)² = cos²(t) + sin²(t) = 1 by the Pythagorean identity. The curve closes exactly when t returns to 2π. To confirm the axes visually, hover over the rightmost point — the tooltip should read approximately (3.00, 0.00) — and the topmost point should show (0.00, 2.00).
Polar Rose: r = 1 + 0.5cos(3θ)
Switch to Polar mode and enter 1 + 0.5*cos(3*θ) (type theta or paste θ). Keep the default θ range of [0, 2π]. Set the viewing window to −4 ≤ x ≤ 4, −4 ≤ y ≤ 4 for a centered view. The curve produces a three-petal limaçon-like shape; the outermost tips of the petals appear at θ = 0, 2π/3, and 4π/3, where cos(3θ) reaches its maximum of 1, making r = 1.5. In the general family r = 1 + a·cos(nθ), the parameter n controls the number of petals — here n = 3 gives three petals. Raising n to 5 with the same expression structure produces five petals, a useful experiment for understanding polar symmetry.
Common Function Families and Their Graphs
Eight function families cover the vast majority of expressions encountered from algebra through first-semester calculus. Knowing the expected shape before graphing is a practical sanity check — if the curve looks nothing like the family's characteristic form, the expression likely contains a typo.
Polynomial Functions
Linear functions (y = mx + b) produce straight lines; the slope m controls steepness and its sign determines direction. Quadratics (y = ax² + bx + c) yield parabolas: a > 0 opens upward, a < 0 opens downward. Cubics such as y = x³ produce a characteristic S-shaped inflection through the origin, with the curve rising to the right and falling to the left.
Transcendental Functions
Exponential functions (y = a·eˣ or y = a·exp(x)) grow or decay without bound and never cross the x-axis. Logarithmic functions (y = ln(x)) are defined only for x > 0; the curve climbs slowly and passes through (1, 0). The sine wave y = A·sin(Bx + C) oscillates between −A and A with period 2π/B — canonical definitions for these functions appear in the NIST Digital Library of Mathematical Functions at dlmf.nist.gov. The tangent function y = tan(x) has vertical asymptotes at x = π/2 + nπ, where n is any integer; these appear as gaps in the plotted curve.
Piecewise and Absolute Value
The absolute value function y = abs(x) produces a V-shape with the vertex at the origin. Shifted forms like y = abs(x − 2) move the vertex to (2, 0), and scaling like y = 3*abs(x) steepens both arms. While a true piecewise function requires separate expressions, plotting abs(x) alongside a complementary expression on the same graph approximates many piecewise behaviors visually.
Common Function Families: Expression, Shape, and Domain
Family
Example Expression
Graph Shape
Domain / Notes
Linear
2*x - 3
Straight line, slope 2
All real x
Quadratic
-0.75*x^2 + 4.2*x - 1.8
Downward parabola
All real x; vertex at (2.8, 4.08)
Cubic
x^3 - 3*x
S-curve with local extrema
All real x; inflection near x = 0
Exponential
2*exp(x)
Rapid growth, never touches x-axis
All real x; y > 0 always
Logarithmic
ln(x)
Slow rise, passes through (1, 0)
x > 0 only
Sine wave
3*sin(2*x)
Oscillating wave, amplitude 3, period π
All real x
Absolute value
abs(x - 1)
V-shape, vertex at (1, 0)
All real x; no discontinuities
Rational
1/x
Hyperbola, two branches
x ≠ 0; vertical asymptote at x = 0
Table 3. Eight common function families with a representative expression, the shape students should expect on screen, and key domain restrictions.
Supported Mathematical Functions by Category
Category
Function Count
Functions Included
Trigonometric
6
sin, cos, tan, sec, csc, cot
Inverse Trig
3
asin, acos, atan
Exponential / Logarithmic
3
exp, ln, log
Algebraic
4
sqrt, abs, floor, ceil
Constants
2
π (pi), e
Figure 1. Count of supported mathematical functions grouped by category. The bar length reflects the number of distinct functions or constants in each group.
Real-World Applications of Function Graphing
Function graphing is not purely a classroom exercise — the same techniques appear across physics, economics, engineering, and design.
Physics and Engineering
Projectile motion follows h(t) = −4.9t² + v₀t + h₀, a downward parabola where the vertex reveals maximum height and the positive root gives time of flight. Enter the expression with specific values for v₀ and h₀ and the calculator shows both answers visually. In signal processing, y = sin(2π·f·t) visualizes a pure audio tone at frequency f — changing f stretches or compresses the wave horizontally, making the period-frequency relationship tangible. Lissajous figures, defined by the parametric pair x = A·sin(at + δ), y = B·sin(bt), appear on oscilloscope screens during calibration and can be reproduced directly in parametric mode.
Economics and Data Analysis
Supply and demand curves are often plotted as intersecting linear or mildly nonlinear functions. Graphing both on the same axes makes the equilibrium point — where the two lines cross — immediately visible, without solving the system algebraically first. For more algebraically intensive intersections, the Equation Solver can verify the coordinates the graph suggests.
Geometry and Design
Polar curves such as the cardioid r = 1 + cos(θ) arise in antenna radiation patterns and acoustic enclosure design. Parametric ellipses and Bézier-like curves appear in typeface design and computer graphics. Plotting these shapes interactively — adjusting a single coefficient and watching the form respond — builds geometric intuition faster than static textbook figures alone.
Common Mistakes When Entering Expressions
Most incorrect graphs trace back to one of five categories of entry error. Recognizing the symptom points directly to the fix.
Syntax Errors
The single most common mistake is implicit multiplication: writing 2x instead of 2*x, or 3sin(x) instead of 3*sin(x). The parser does not infer a multiplication operator from adjacency and will flag these as errors before drawing anything. Similarly, using the Unicode superscript ² instead of the caret ^2 produces a parse failure — the input field expects plain ASCII exponentiation syntax.
Conceptual Errors
Degree-versus-radian confusion generates subtler mistakes: typing sin(90) returns approximately 0.894, not 1.0, because the calculator treats 90 as 90 radians. Use sin(pi/2) to get exactly 1. Fraction precedence is another frequent trap: 1/2*x is parsed as (0.5)·x due to left-to-right evaluation, not 1/(2x). Any time a fraction has a multi-term denominator, wrap it in parentheses: 1/(2*x).
Domain Errors
Attempting ln(-3) or sqrt(-5) returns NaN — the graph shows a gap at those x values rather than an error message. This is mathematically correct behavior, not a bug. Polar θ range truncation produces a different symptom: if the range is too small, the curve appears to start and stop abruptly. The rose r = 1 + 0.5·cos(3θ) needs the full θ ∈ [0, 2π] to close; setting an upper bound of π would show only half the figure.
Frequently Asked Questions
What functions can I graph with this calculator?
The calculator supports any expression built from arithmetic operators, standard trig functions (sin, cos, tan and their inverses asin, acos, atan), exponential and logarithmic functions (exp, ln, log), square root, absolute value, and the constants π and e. All three coordinate modes — Cartesian, parametric, and polar — are available, and up to six functions can be plotted simultaneously on the same set of axes.
How do I plot multiple functions on the same graph?
Click Add Function below the first expression field to open a second input; repeat up to six times. Each active expression renders in a distinct color so curves remain distinguishable at a glance. All expressions share the same viewing window, which makes finding intersection points — or comparing growth rates — straightforward without switching views.
What is the difference between Cartesian and parametric graphing?
Cartesian mode plots y directly as a single function of x (one expression field), which means every x value produces at most one y value. Parametric mode uses two separate expressions — x(t) and y(t) — where both coordinates vary with an independent parameter t. This allows curves that double back on themselves, such as circles, ellipses, or figure-eights, which cannot be drawn in standard y = f(x) form.
How do I zoom and pan on the graph?
Scroll the mouse wheel to zoom in or out; the zoom centers on wherever the cursor is positioned, letting you zoom toward a specific feature like a vertex or intersection. Click and drag the canvas to pan in any direction. For precise control — such as setting the window to exactly x ∈ [−1, 7] — type the bounds directly into the Window Settings fields and click Graph to re-render.
Can I save or export my graph as an image?
Yes — click the Export button to download the current canvas as a PNG or SVG file. PNG is best for inserting into documents or slides; SVG preserves vector quality for print or large-format display. The share-URL feature encodes all active expressions and window settings into a single link you can copy, bookmark, or send to a classmate, who will see the exact same graph on their screen.
What syntax should I use for trigonometric functions?
Write sin(x), cos(x), or tan(x) with the argument enclosed in parentheses. The calculator uses radians throughout, so sin(pi/2) returns 1 and cos(pi) returns −1. If your problem is stated in degrees, convert by multiplying the degree measure by π/180 inside the function: sin(x * pi / 180).
How do I graph polar equations like r = 2cos(θ)?
Switch to Polar mode using the coordinate mode dropdown, then type 2*cos(theta) (or paste the θ character directly) into the expression field. The default θ range is [0, 2π], which closes most standard polar curves. For roses or spirals that need more than one full revolution to complete — such as r = θ or multi-petal roses with even n — increase the upper bound to 4π or higher.
What happens if I enter an undefined or discontinuous function?
The parser evaluates the function point by point across the viewing window; wherever the value is undefined — such as tan(π/2), ln(−1), or 1/0 — the graph shows a gap rather than an error message or a crash. Vertical asymptotes appear as visible breaks in the curve, which matches standard mathematical convention and makes discontinuities easy to identify visually without any special settings.