GnuPlot is a portable command-line
driven graphing utility for linux, OS/2, MS Windows, OSX, VMS, and
many other platforms. The source code is copyrighted but freely
distributed (i.e., you don't have to pay for it). 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 has
been supported and under active 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. Demos here.
Gnuplot supports many different types of output: interactive screen
terminals (with mouse and hotkey input), direct output to pen 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. Recent additions
include an interactive terminal based on wxWidgets and the creation of
mousable graphs for web display using the HTML5 canvas element.