Graphing Calculator | Function, Equation, Parametric, Points

Welcome to our world's most advanced free online graphing calculator, designed to graph the most common types of mathematical expressions — functions, equations, parametric curves, point sets, and it's the only graphing tool that can graph in oblique coordinate systems. Furthermore, it can also find the x-intercepts, calculate and graph symbolic derivatives.

Our online graphing calculator is a sophisticated and feature-rich graphing software application for drawing the graphs of functions, equations (including implicitly defined functions), parametric curves and points in the Cartesian and polar coordinate systems.

Here are some examples of syntax:
  • f(x) = x^2sin(x) + 2x + 1 (function)
  • x^3-xy+2y^2 = 5x+2y+5 (equation)
  • p(t) = [sin(t), cos(t)] (parametric)
  • 1,2; -2, 2/3; sin(π/3), 2^3-1 (points)
More on Syntax

This graphing calculator has features that enable you to animate the graphing process in a unique way that helps you understand it better. It is also unique in its ability to visualize graphs in an oblique coordinate system where each axis can be rotated independently. These features provide an interactive way to learn about graphing.

It can easily find the x-intercepts (also known as zeros or roots of a function), and also calculate the 1st and 2nd order symbolic derivatives of functions and parametric expressions, and graph the derivatives.

In particular, you can use this graphing calculator to:

  • Graph linear functions and linear equations in point-slope form and slope-intercept form.
  • Graph conic sections in the standard form such as (x-h)^2 + (y-k)^2 = r^2, and the general form (Ax^2 + Bxy + Cy^2 - Dx + Ey + F = 0), which can be a circle, ellipse, parabola, hyperbola, or some degenerate graphs.
  • Graph level curves, which are in the form F(x,y) = c.
x y
message
?
 
4
Label Axes

Rotate Axes

ResultsHide
Functions

Lines

1 x+1 2x

Semi-circles

√(9-x^2) -√(9-x^2)

Semi-ellipses

√(9-x^2/3) √(9-x^2/3)

Parabolas

x^2 0.5x^2-4x+1 -(0.5x^2-4x+1)

Semi-hyperbolas

√(x^2-4) -√(x^2-4)

Other graphs

√(4sin(2x)) √(4cos(2x))
Functions – Polar

Lines

2csc(θ) 2sec(θ) 1/(sin(θ) - cos(θ))

Circles

1 2 6sin(θ) 8cos(θ)

Spirals

θ θ/5 dom=(0, 10π) √(θ) dom=(0, 10π) 1/θ dom=(0, 10π)

Roses

4sin(3θ) 4sin(2θ) 4sin(5θ) 4sin(4θ)

Ellipses

1/(1-.8cos(θ)) 1/(1-.8sin(θ)) 1/(1+.8cos(θ)) 1/(1+.8sin(θ))

Parabolas

1/(1-sin(θ)) 1/(1+cos(θ)) 1/(1+sin(θ)) 1/(1-cos(θ))

Hyperbolas

1/(1+2cos(θ)) 4/(1+2sin(θ)) 1/(1-2cos(θ)) 4/(1-2sin(θ))

Cardioids

3+3cos(θ) 2+2sin(θ) 3-3cos(θ) 2-2sin(θ)

Limacons

2+3cos(θ) 1+2sin(θ) 2-3cos(θ) 1-2sin(θ)

Lemniscates

√(4sin(2θ)) √(4cos(2θ))

Butterfly curve

e^sin(θ)-2cos(4θ)+sin((2θ-π)/24)^5 dom=(0, 12π)
Equations

Lines

y = 1 x = 1 y = x+1 x = y+1 3x + y = 2 3x - y +5 = 4x+2y-2

Circles

x^2+y^2 = 9 (x-2)^2 + (y-2)^2 = 4

Ellipses

x^2/4 + y^2/9 = 1 x^2-xy+2y^2-x-2y-8=0

Parabolas

y=x^2 y = x^2-4x+4 2x^2-4xy+2y^2-x-2y-2=0

Hyperbolas

x^2/4 - y^2/9 = 1 24x^2-50xy-49y^2+97x+93y-164=0

Other graphs

x^2 = y^2 sin(xy) = cos(xy)
Equations — Polar
Currently, not available.
Parametric

Lines

[t, 1] dom=(-5, 5) [1,t] dom=(-5, 5) [t, 2t] dom=(-5, 5)

Circles

[4sin(t), 4cos(t)] [3sin(t)+1, 3cos(t)+1]

Ellipses

[4cos(t), 3sin(t)] [3cos(t), 4sin(t)] [4sin(t), 3cos(t)] [3sin(t), 4cos(t)]

Parabolas

[t, t^2] dom=(-4, 4) [t^2, t] dom=(-4, 4)

Hyperbolas

[3sec(t), 4tan(t)] [3tan(t), 4sec(t)]

Other parametric graphs

[5sin(t), 4cos(t)] [5sin(t), 4cos(2t)] [5sin(t), 4cos(3t)] [5sin(2t), 4cos(t)] [5sin(2t), 4cos(3t)] [5sin(2t), 4cos(5t)] [5sin(3t), 4cos(5t)] [5sin(3t), 4cos(7t)] [5sin(5t), 4cos(7t)] [5sin(7t), 4cos(9t)]

Butterfly curve

[sin(t)(e^cos(t)-2cos(4t)-sin(t/12)^5), cos(t)(e^cos(t)-2cos(4t)-sin( t/12 )^5)] dom=(0, 12π)
Parametric – Polar

Lines

[2csc(t), t] [2sec(t), t] [1/(sin(t) - cos(t)), t]

Circles

[1, t] [2, t] [6sin(t), t] [8cos(t), t]

Spirals

[t, t] [t/5, t] dom=(0, 10π) [√(t), t] dom=(0, 10π) [1/t, t] dom=(0, 10π)

Roses

[4sin(3t), t] [4sin(2t), t] [4sin(5t), t] [4sin(4t), t]

Ellipses

[1/(1-.8cos(t)), t] [1/(1-.8sin(t)), t] [1/(1+.8cos(t)), t] [1/(1+.8sin(t)), t]

Parabolas

[1/(1-sin(t)), t] [1/(1+cos(t)), t] [1/(1+sin(t)), t] [1/(1-cos(t)), t]

Hyperbolas

[1/(1+2cos(t)), t] [4/(1+2sin(t)), t] [1/(1-2cos(t)), t] [4/(1-2sin(t)), t]

Cardioids

[3+3cos(t), t] [2+2sin(t), t] [3-3cos(t), t] [2-2sin(t), t]

Limacons

[2+3cos(t), t] [1+2sin(t), t] [2-3cos(t), t] [1-2sin(t), t]

Lemniscates

[√(4sin(2t)), t] [√(4cos(2t)), t]

Other parametric graphs

[5sin(t), 4cos(t)] [5sin(t), 4cos(2t)] [5sin(t), 4cos(3t)] [5sin(2t), 4cos(t)] [5sin(2t), 4cos(3t)] [5sin(2t), 4cos(5t)] [5sin(3t), 4cos(5t)] [5sin(3t), 4cos(7t)] [5sin(5t), 4cos(7t)] [5sin(7t), 4cos(9t)]
RAD
🔍+ 1 🔍

Calculator is loading.
Please wait....

Make this Transparent
Graph Thickness
Angle Mode
...
Done

To copy or save graphs right click on the image of a saved graph below and select "Copy image" or "Save image" from the pop-up menu.

As you type:
  • pi is replaced by π.
  • ..t is replaced by θ. (You can also use x or t; they are internally replaced by θ).
  • inf (infinity) is replaced by .
More tips

MouseMatics: Find out how to use your mouse to rotate axes, change scales, and translate coordinate systems.

Instructions for Our Graphing Calculator

Our powerful graphing calculator lets you graph functions, equations, parametric curves, and point sets. Simply type the expression into any expression box, and the software will automatically detect the type of expression and generate the graph instantly (default) using the Cartesian coordinate system (either rectangular or oblique) or polar coordinate system. You can easily switch between them by selecting/deselecting the Polar checkbox. The software is designed to automatically adjust the variables according to the expression type and coordinate system, so you don't have to worry about which variable (x, y, t, or θ) to use. Non-advanced users can also use one of these graphers to graph a single type of expression.

Our graphing calculator is designed to be intelligent and user-friendly. When you enter an expression, it automatically detects its type:

When graphing functions or parametric expressions, if you don't specify a domain (interval), the graphing calculator automatically sets a suitable domain to ensure proper graphing. It uses dom=(-∞, ) for functions in the Cartesian coordinate system, and dom=(0, ) otherwise. You can change the endpoints of the interval if desired, but they must be finite for polar or parametric graphing. The calculator will automatically adjust any infinities to finite values.

Using Polar and Parametric Graphing Animation Feature

Visualize how graphs are constructed step-by-step! Our graphing calculator offers the most powerful animation feature for function graphs in the polar coordinate system and parametric graphs in both Cartesian and polar coordinate systems. The animation allows you to observe whether any loops or sections of the graph are traced multiple times.

The animation uses a step-by-step approach to draw these graphs. You can control the speed of the animation, allowing you to see the construction process in detail. Pause/resume at any speed to tailor the animation to your pace. To activate the animation feature, press the button at the bottom of the graphing tool (if hidden, press Animate first).

Graphing Multiple Expressions

To graph multiple functions, equations, parametric curves or point sets, press the » button to show the multi-graph pane containing the expression panels, and type your expressions in expression fields on any of the available panels.

Graph Accuracy Setting

Select an option in Graph Fineness. This controls how smooth and detailed the graph will be. Higher accuracy creates a smoother curve with more detail but takes longer to graph. Choose the level that best suits your needs.

Copying & Saving Graphs

  1. Click the Copy/Save graph button. This will create a copy of all the graphs on the canvas (graphing area) which will appear as an image below the graphing calculator..
  2. Right-click on the image and select the appropriate option from the context menu. Depending on your device and preferences, you might be able to:

Evaluating Functions & Parametric Expressions

To evaluate a function or parametric expression, type a literal number or numerical expression in the provided box. The calculator will display the calculated value, rounded to the number of decimal places set by the slider.

Finding X-Intercepts

Our calculator can be used as an equation solver to find the x-intercepts (also known as zeros or roots) of a function. To do this, press the Solve button. The equation solving calculator will then find the x-intercepts of the function in focus by solving the equation f(x) = 0 and display them on the screen. Notes on finding x-intercepts

Calculating and Graphing Symbolic Derivatives

In addition, the calculator can be used as a derivative graphing calculator. To calculate the first and second order derivatives of a function or parametric expression in focus, press the Derivative button.

After the derivatives are displayed, you can press Graph f, f' or Graph f, f', f'', which also appear on the screen, to draw the graphs of the function or parametric expression and their derivatives in a new window. You can also add the calculated derivatives to new panels by selecting them (selected by default). These panels will be appended to the bottom of the multi input pane. This will allow you to use them to find, for example, the critical points of the function by pressing the Solve button as described above. Press the OK button to close the derivative window. Find out more about first & second order derivatives.

Interesting Curves

Graph any of the predefined expressions under the Interesting Graphs selections, located on the multi-input pane, to render some cool Cartesian and polar graphs by selecting it. For best results, you may need to select Graph Fineness as "+1" or higher.

Settings

Press the ⚙ (gear) button to set options (if the button is hidden, first click on the icon at the top right of the canvas):

Insert on the bottom of multi-input panel: