There is a lot of great software for graphing available on the Internet. Here is some of the best that I have found.

Graph

This program by Ivan Johanson is a basic graphing utility that does its job quite effectively. It is just 2D but has many quality features such as animations, arc lengths, areas, tangents, and normals. It supports functional, parametric, polar, and relational graphing.

It is free and open source: licensed under the GNU General Public License.

It is quite fast but the program is quite small.

It is easy for the beginner to learn, but does not offer the features that a power user may be looking for.

The GUI is very easy to learn.

It is windows based.

It is not very customizable, but it is very portable having almost no registry keys except perhaps a file association to .grf

It is not extremely fast but has good colors in its graphing utility. It is user oriented but command line underneath. It is quickly confused when trying to graph relations, so power users may find it insufficient for their projects. The GUI is somewhat nonstandard, providing a large virtual calculator, which shows nothing on the screen, as well as a confusing layout of overlapping tabs.

It is also a Microsoft product which limits its use on Linux and other open source OSes.

It is not very customizable or portable.

Sage

Sage is a powerful math and graphing tool designed for Linux.

It is free and open source - licensed under the GNU GPL

It is fairly fast and powerful - even when virtualized.

It is necessary to learn the command line to use it so the beginner may have a bit of a learning curve, but it provides many powerful features for the power user and programmer.

The GUI is basically a web page with text boxes that accept command line arguments for the functions to be graphed.

As a web page or as a virtual machine it can be run on almost any platform or OS.

The options are also command line with dynamic scalability.

As a virtual machine it is fairly portable from a power user’s perspective.