gnuplot is a portable command-line driven interactive datafile (text or binary) and function plotting utility for UNIX, IBM OS/2, MS Windows, DOS, Apple Mac, VMS, Atari and many other platforms. 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. It does this job pretty well, and in addition it serves as non-interactive plotting engine for miscellaneous portable third-party applications, like Octave. Gnuplot is developed and supported since 1986, and having its scripts and commands easy to understand text files, it is time-portable as well.
Gnuplot supports various kinds of plots. In 2D, it can draw line, point, dot, box, histogram graphs or vector fields. In 3D, it supports line, point and dot surfaces, with or without hidden line removal. It supports color or grayscale surfaces and maps, even for non-equidistant and non-rectangular 3D data, otherwise it offers data gridding.
Gnuplot supports many different types of terminals: interactive screen terminals (with mouse and hotkey functionality), pen plotters (like hpgl), printers (including postscript and many color devices), and printings to output file as vectorial pseudo-devices like LaTeX, metafont, pdf, svg, or bitmap png. Gnuplot is easily extensible to include new devices. See home page: http://gnuplot.sourceforge.net/