Function Grapher

Enter the function (expression) you want to graph, e.g. 3x^2+1 or 2sin(3x) and click Graph it - note, it is case sensitive!

Sorry, but you need a Java-enhanced browser to use this function grapher.

How to Use the Function Grapher
All functions must use x as their independent variable. Enter functions in standard mathematical notation, using parentheses and spaces as you wish for clarity. Use / for division and ^ for exponentiation. You may use * to indicate multiplication or simply put terms to be multiplied next to each other, like 2x. You can enter more than one function by separating functions with semicolons (;).

Constants Use pi for the usual 3.14159.... Use e for the base of the natural log, 2.71828....

Functions The argument to a function must be surrounded by parentheses, like abs(x). The function grapher understands the following functions.

abs Absolute value. You may also use |x|.
sqrt Square root.
cbrt Cube root.
root General root: root(5,x) computes the fifth root of x.
! Factorial. Use x! for x factorial.
exp Exponential with base e. exp(x) is the same as e^x.
log, ln Logarithm with base e.
sin Sine function.
cos Cosine function.
tan Tangent function.
sec Secant function.
csc Cosecant function.
cot Cotangent function.
arcsin Inverse sine function.
arccos Inverse cosine function.
arctan Inverse tangent function.
sinh Hyperbolic sine function.
cosh Hyperbolic cosine function.
tanh Hyperbolic tangent function.

Summation You can define a function using summation notation. For example, sum(x^n,n,1,4) is the same as x+x^2+x^3+x^4. In general, use sum(expr,var,start,end) to sum the expression expr for values of var (which is allowed to be any single letter other than x or e) from start to end in increments of 1. Use sum(expr,var,start,end,incr) to use an increment other than 1.

Sequences of Functions You can graph a sequence of functions depending on a parameter. For example, seq(x^n,n,1,4) is the same as x;x^2;x^3;x^4. In general, use seq(expr,var,start,end) to graph the expression for values of var (which is allowed to be any single letter other than x or e) from start to end in increments of 1. Use seq(expr,var,start,end,incr) to use an increment other than 1. You may graph a sequence of sequences, but sequences may not otherwise appear inside functions.

Logical Expressions You may use logical expressions that evaluate to 0 when false and 1 when true. These are useful for graphing piecewise-defined functions, for example. You may use the comparison operators =, <, >, <= (less-than-or-equal), >= (greater-than-or-equal), and != (not-equal). You may use the logical operators & (and), | (or), and ! (not). So, for example, (x<3)&!(x<2) evaluates to 1 when x is less than 3 and not less than 2, but evaluates to 0 otherwise. The parentheses are actually optional in that expression.

Tick Marks You may specify the spacing of tick marks. The grapher tries to be smart about drawing its tick marks, however. The actual spacing of the tick marks will be a power of 10 times the spacing you specify, chosen so that the tick marks are spaced not too close together or too far apart.

The Graph Window

Moving the Graph On computers with mice with two or more buttons, clicking and dragging with the second or middle button will move the graph around (it will redraw when you release the mouse). On computers with a single button, hold the Option or Alt key down while clicking.

Selecting a Region You may select a region of the graph for use in zooming (below) by clicking and dragging with the mouse (left-most button for multiple button mice).

Zooming In Choosing Zoom In from the menu, or clicking on the Zoom In button, does one of two things. If you have selected a region of the graph as above, that region is enlarged to fill the whole graph. Otherwise, zoom in towards the center of the graph by a factor of 2.

Zooming Out Choosing Zoom Out from the menu, or clicking on the Zoom Out button, does one of two things. If you have selected a region of the graph, the visible graph is shrunk to fit inside that selection. Otherwise, zoom out away from the center of the graph by a factor of 2.

Squaring Up Choosing Square Up from the menu or clicking on the Square Up button will adjust the graph so that 1 unit on the x-axis looks the same length as one unit on the y-axis.

Tracing If you choose Trace from the menu the grapher will trace your mouse movements along one of the graphs. An X will be drawn on the point of the graph with the same x-coordinate as the mouse, and the coordinates of that point will be shown below the graph, together with the expression that defines that function. If you are graphing more than one function, you can change which function is being traced by choosing Next Function or Previous Function from the menu, clicking on the buttons of the same names, or using the down and up arrows on your keyboard (you may have to click somewhere in the graph to get the arrow keys to work).