Gnuplot is a command-line driven interactive function plotting utility. The software is copyrighted but freely distributed (i.e., you don't have to pay for it). It was originally intended as graphical program which would allow scientists and students to visualize
mathematical functions and data. Gnuplot supports many different types of terminals, plotters, and printers (including many color devices, and pseudo-devices like LaTeX) and is easily extensible to include new devices. [ The "GNU" in gnuplot is NOT related to the Free Software Foundation, the naming is just a coincidence (and a long story; see the gnuplot FAQ for details). Thus gnuplot is not covered by the Gnu copyleft, but rather by its own copyright statement, included in all source code files.]
Gnuplot handles both curves (2 dimensions) and surfaces (3 dimensions). Surfaces can be plotted as a mesh fitting the specified
function, floating in the 3-d coordinate space, or as a contour plot on the x-y plane. For 2-d plots, there are also many plot styles,
including lines, points, lines with points, error bars, and impulses (crude bar graphs).
Graphs may be labeled with arbitrary labels and arrows, axes labels, a title, date and time, and a key. The interface includes command-line editing and history on most platforms.
http://www.sci.muni.cz/~mikulik/gnuplot/
Source: