Gnuplot is a portable command-line driven interactive data and function plotting utility for UNIX, IBM OS/2, MS Windows, DOS, Macintosh, 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 to allow scientists and students to visualize mathematical functions and data. It does this job pretty well, but has grown to support many non-interactive uses, including web scripting and integration as a plotting engine for third-party applications like Octave. Gnuplot has been supported and under development since 1986.
Gnuplot supports many types of plots in either 2D and 3D. It can draw using lines, points, boxes, contours, vector fields, surfaces, and various associated text. It also supports various specialized plot types.
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.