FooPlot: Plot faster.
[black line]


General questions

I see a blank screen and no plot.
FooPlot currently supports IE 5.5 and above, FireFox 1.5 and above (as long as your build includes SVG), and Opera 9 and above. Safari is not yet supported, but we are working on it. Meanwhile, if you have problems with any of the above supported browsers, please let us know so we can fix it!

You should include a "Permalink" feature, or other method of including all plot options in the URL.
This is currently being worked on and is definitely being planned for the near future. Stay tuned. The only reason this has not been released yet, though, is because we would like to structure it well so that future feature additions will not break past links that have been bookmarked by users.

Will you support other languages besides English?
Multi-lingual interfaces are being tested in English, German, and Spanish and the interfaces are gradually being translated. If you find an error in any translation or can suggest a better translation, please submit feedback! If you would like to help contribute to the translation in these or other languages, please let us know.

Are the generated plots copyrighted?
While the user interface and source code is currently under copyright, we don't believe in copyrighting the actual graph of a function. You may consider the saved images in public domain and use the saved images for any purpose, with or without credit, though a link back to our homepage is always appreciated.

Will you consider becoming open-source?
While you may of course view the source of these pages and the accompanying JavaScripts for your own personal learning, this project is not currently under an open-source license simply because it is in a state of rapid change and there remain many bugs and proposed features to be worked out in the development tree. However, if this website gains sufficient popularity and the code becomes reasonably stable, we may consider becoming an open-source project.

Math questions

What functions are supported?
Trigonometric functions:
  sin(x) cos(x) tan(x) sec(x) csc(x) cot(x) asin(x) acos(x) atan(x) asec(x) acsc(x) acot(x)
Hyperbolic trigonometric functions:
  sinh(x) cosh(x) tanh(x) sech(x) csch(x) coth(x) asinh(x) acosh(x) atanh(x) asech(x) acsch(x) acoth(x)
  ln(x) log(x) sqrt(x) abs(x) floor(x) ceil(x) u(x)

How do I do cube roots and fourth roots?
x^(1/3), x^(1/4)

The graph of x^(2/3) is missing the left half.
This is due to a limitation in the way the plotting mechanism works. 2/3 is approximated to 0.666666666667 which then no longer contains the left half of the plot. The easiest workaround is to re-express the formula as (x^2)^(1/3). If any programmers have any tips on fixing this consistently, please let me know.

Will you add support for constants such as 'pi'?
pi and e are already supported. We've noticed many people ask us about this in spite of that, though, so if it doesn't work for you, please let us know what exactly you're trying to plot. Please note that with the constant e, you must use * to multiply it by a constant, i.e. 2*e not 2e. This is so that the program is not confused with the exponent syntax (i.e. 2e3 means 2*10^3).

How do I plot a logarithm in base 10?
At the moment, both log and ln refer to the natural logarithmic base. To plot a logarithm in base 10, just use simple math rules to understand that it is just ln(x)/ln(10). If there is interest in seeing log become a base-10 log, please let us know. As of 31-Oct-2007, log(x) is now the base-10 log and ln(x) remains the natural logarithm.

It didn't find a root or intersection that is supposed to exist.
First of all, the root or intersection feature only works for functions of the form y=f(x) and not on polar or other plot types. FooPlot uses Newton's method for finding roots and intersections, which has some limitations. For example, it will not be able to find the root of sqrt(x), non-differentiable functions, or functions that exhibit fractal behavior. In addition, if two functions are too close to each other, beyond the precision of the variables used in the underlying code, bogus roots or intersections may be found. Thus, it is highly recommended that you use your analytical skills to ensure that the results you see make sense.

How do I draw a piecewise function?
You can enter a piecewise function using the comparison operators <, >, <=, >=, and == which return 1 if the comparison is true and 0 if the comparison is false. For example, (x<0) returns 1 if the statement (x<0) is true and 0 otherwise. To plot the piecewise function y={x, x<0; x^2, x>0} you could enter

[black line]
© 2007 FooPlot. Send comments, suggestions, and questions to