Function Plotter

Get Adobe Flash Player

It appears that you don't have Flash Player, unfortunately this won't work!
Don't worry, there's a quick (and free) fix!
You may be on a tablet or incompatible device, in which case hop onto a computer.
If you're on a computer then click the above button to get Adobe Flash player.



Input functions with the variable \(x\) to the \(f(x)=\) box and press "graph!" or hit Enter on your keyboard to plot the function. Here is a list of functions you can use in combination:

+, -, *, /, and ^ denote plus, minus, multiply, divide and exponents respectively.
Multiplication cannot be implied; "2x" is not accepted, but must be "2*x".
pi and e can both be entered, in lower case as shown here.
sin(), cos() and tan(), with their inverses asin(), acos() and atan().
ln() can be used for the natural logarithm; log base \(e\).
sqrt() for sqare root. This and other roots can be achieved using \(x^{1/2}=\sqrt{x}\) or similar.
abs() gives the absolute value, often seen as |x| in notation.
max( , ) and min( , ) for the maximum or minimum of two entries respectively.
floor(), ceil() and round() for the previous, next and closest integer respectively.

When in doubt about order of operations, use brackets.


Drag: move graph. Trace: graph values. Pen: draw tool. Quality: Hi or Lo. Zoom: in or out. Refresh: clear drawings. Reset: default graph zoom. Eye: drawing visibility.

Ranges and grid spacing

The \(x\) and \(y\) ranges can be any numbers as long as the maximums are larger than the minimums! They determine the scale of the graph.
The grid spacings determine how frequent grid lines and labels are. You may need to change these when zooming in or out large amounts. The default is 1 for both, but a good set up for plotting trig functions might be x: 1.57, y: 1 as this would emphasise the key values of the graph.

After changing the ranges or grid spacing, you must press Enter on your keyboard or the "graph!" button to see the changes.


The quality button won't need to be touched most the time, most users will only notice that it slows down navigation considerably without notable quality improvement. The times when 'Hi' quality is needed are those where there are sharp bends in the graph, for example with \(f(x)=cos(10x)\).

high and low resolution comparison
Low quality vs High quality

Red error box of doom

If you get an error pop up, just read it and take note of what it says! Most the time the errors are quite easy to understand. The "position" which it refers to is how many characters from the left the symbol is which can't be understood (starting from the leftmost character being number 0).

Known glitches

Zooming such that the x range is very small or vary large can cause the applet to freeze due to having too much to process.

Only positive roots will be plotted on functions such as \(f(x)=\sqrt{x}\).

If you find any other issues, let me know on Twitter: @nextlevelmaths.

Credit to:

Barbara Kaskosz & Douglas E. Ensley for their MathParser code which was used to help create this applet and save me a lot of brain-ache!