# Graphing Calculator > Plot up to 6 functions or parametric curves with roots, extrema, intersections and SVG/PNG export. Graphs y = f(x) for up to six functions (or parametric curves x(t), y(t)) over the range you choose, lists the roots, local minima and maxima and the intersection points numerically, prints a table of values and offers the graph as SVG and PNG downloads. Part of usefulweb.site (https://usefulweb.site/). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://graphingcalculator.usefulweb.site/ (interactive tool at https://graphingcalculator.usefulweb.site/tool) - JSON API: POST https://graphingcalculator.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://graphingcalculator.usefulweb.site/api/v1/tool) - OpenAPI: https://graphingcalculator.usefulweb.site/openapi.json - MCP (Streamable HTTP): https://graphingcalculator.usefulweb.site/mcp - tool `graphing_calculator` ## Inputs - mode (select): Graph type - functions (textarea, required): Functions (one per line) - Functions: "y = x^2 - 2" or just "x^2 - 2". Parametric: "cos(t), sin(t)" per line. Up to 6 lines. - xMin (number): x min - xMax (number): x max - yMin (number): y min - Optional; automatic (asymptotes are clipped) when empty. - yMax (number): y max - Optional. - tMin (number): t min (parametric) - tMax (number): t max (parametric) - Default 2π. - tableStep (number): Table step - Optional step for the table of values (default: a tenth of the range; at most 41 rows). - analyze (boolean): Find roots, extrema and intersections - png (boolean): Also create a PNG download ## Method - Each function is parsed by the shared CAS core and evaluated in double precision at 600 points; jumps across vertical asymptotes are broken instead of joined, and extreme values are clipped unless you set y min/max. - Roots: sign changes on a 4,000-point grid refined by bisection, plus touching roots (local minima of |f| that reach zero). Poles are excluded because |f| must be tiny at a root. - Extrema: the derivative is computed symbolically and its roots are found the same way; each critical point is classified by comparing neighbouring values (inflection points are skipped). - Intersections: roots of f_i − f_j for every pair of functions. All of these are numeric approximations (about 10 significant digits) and only cover the plotted range. - The graph is an accessible SVG (title, description, data table); the PNG is rasterised from the same SVG with ImageMagick.