Gnuplot is a portable command-line driven graphing utility for Linux, MS Windows, OSX and many other platforms. The source code is copyrighted but freely distributed . It was originally created to allow scientists and students to visualize mathematical functions and data interactively, but has grown to support many non-interactive uses such as web scripting. It is also used as a plotting engine by third-party applications like Octave.
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 output: interactive screen terminals (with mouse and hotkey input), direct output to open plotters or modern printers, and output to many file formats (eps, fig, jpeg, LaTeX, metafont, pbm, pdf, png, postscript, svg, …).
Gnuplot is easily extensible to include new output modes. It is also capable of producing LaTeX code that can be included directly in LaTeX documents, making use of LaTeX’s fonts and powerful formulae abilities.The program can be used both interactively and in batch mode using scripts.