ZeGrapher

An open source, free and easy to use math plotter. It can plot functions, sequences, parametric equations and data on the plane.

Features

Features

Here is what Zegrapher v3 can offer you:

  • Visualize up to six functions simultaneously. All the usual functions can be called: they're all written on a virtual keyboard. On a given function, others can be called, so it is possible to associate or compose functions.
  • Numerical sequence plotting, they can be defined by a recurrent relation or explicitly.
  • Parametric equation plotting. The curves can be animated, with adjustable framerate and speed.
  • Experimental data plot and polynomial fit (regression). Data can be imported/exported from a CSV file.
  • Parametric plot for functions, sequences and parametric equations: the parameter symbol to use is "k".
  • Plot tangents: they can be moved and resized simply with the mouse.
  • Plot derivatives and antiderviatives.
  • Print the graph, with these options :
    • Choose the size and the position of the graph on the sheet.
    • Print in color or gray-scale.
    • Export on a PDF file.
  • Export to all common image formats (png, jpeg, tiff, gif...).
  • Display a table of values with different options.
  • Navigate on the graph :
    • Select a curve to display the coordinates of its points.
    • Zoom/unzoom on each axis separately, around the mouse (with the scroll wheel), or fit on a mouse drawn rectangle.
    • Move the graph.
  • Customize the presentation :
    • Change all the colors: axes, background, functions...
    • Adjust the plotting precision. Note that it will also affect rendering speed.
    • Show/hide a grid.
    • Activate/deactivate curves' smoothing.
    • Plot the graph on an orthonormal basis.

Screenshots

Here are few pictures that show what ZeGrapher looks like, and illustrate how it works.

About

ZeGrapher is mainly a solo project and the fruit of years of discontinuous work on my free time. It has been, and will be, a lot of fun thinking on how to code things, how to make it as easy to use as possible, to see things finally work. My end goal is to make ZeGrapher the best on the features it offers (I am still far from that I know). I hope you enjoy using it just as I enjoyed making it (I do use it myself too). This project is also getting help from other people that I would like to thank and cite:

  • Georges Khaznadar: Makes Debian packages, and indirectly Ubuntu packages
  • Robert-André Mauchin: Makes Fedora packages
  • Michael Bosch: Makes Archlinux packages
  • Helmar Gerloni: Translates ZeGrapher and its website to German
Even though I am the only one who worked on the code so far, I am open to work with others on it. Though yes, I still haven't documented the code... Knowing someone genuinely wants to contribute may get me to catch up on that. If you are willing to help in any other way — e.g. translate ZeGrapher to a new language, tell the others about ZeGrapher, have comments or suggestions , ... — you are more than welcome to do so! contact here!

If you would like to make a financial contribution to the project, please feel free to follow the Paypal button bellow. Contributions will help cover web hosting expenses and motivate me to work more on ZeGrapher.

If you want to see a feature added to ZeGrapher, please feel free to reach out! (Regardless of whether you made a donation or not)

Thank you
Adel KARA SLIMANE