gnuplot
3D rendering of an ellipsoid by gnuplot |
|
| Initial release | 1986 |
|---|---|
| Stable release | 4.4.4[1] / 14 November 2011 |
| Preview release | Through CVS |
| Development status | Active |
| Written in | C |
| Platform | Cross-platform |
| Type | Plotting |
| License | Open source[citation needed] (own license)[2] |
| Website | www.gnuplot.info |
gnuplot is a command-line program that can generate two- and three-dimensional plots of functions, data, and data fits. It is frequently used for publication-quality graphics as well as education. The program runs on all major computers and operating systems (GNU/Linux, Unix, Microsoft Windows, Mac OS X, and others). It is a program with a fairly long history, dating back to 1986. Despite its name, this software is not distributed under the GNU General Public License (GPL), opting for its own open source[citation needed] license[2] instead.
Contents |
[edit] Features
gnuplot can produce output directly on screen, or in many formats of graphics files, including Portable Network Graphics (PNG), Encapsulated PostScript (EPS), Scalable Vector Graphics (SVG), JPEG and many others. 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.
The program is well supported and documented. Extensive help can also be found on the Internet.
gnuplot is used as the plotting engine of GNU Octave, Maxima, and gretl, and it can be used from various languages, including Perl (via CPAN), Python (via Gnuplot-py and SAGE), Java (via jgnuplot), Ruby (via Ruby Gnuplot), Ch (via Ch Gnuplot), and Smalltalk (Squeak and GNU Smalltalk). gnuplot also supports piping.[3]
gnuplot is programmed in C.
|
The name of this program was originally chosen to avoid conflicts with a program called "newplot", and was originally a compromise between "llamaplot" and "nplot".[4]
[edit] Distribution terms
Despite gnuplot's name, it is not part of or related to the GNU Project, hence the decision to use a lowercase 'g'.
The program is distributed under terms which are similar to the permissive free software licences, which permit copying and modification of the source code, but it contains an unusual restriction that modified versions can only be distributed as patch files.[2]
Permission to modify the software is granted, but not the right to distribute the complete modified source code. Modifications are to be distributed as patches to the released version.
Despite this restriction, gnuplot is accepted and used by many GNU packages and is widely included in GNU/Linux distributions including the stricter ones such as Debian and Fedora.
[edit] Alternatives
For script-driven graphics, gnuplot is by far the most popular program. PyXPlot is a free plotting software that has a very similar syntax but tries to enhance gnuplot's data processing and scripting capabilities.
If the graphics is driven by an application program, plot commands can be fed to gnuplot via a pipe. Alternatively, the application program might be linked with a graphics library such as
- PGPLOT
- PLplot
- Matplotlib for use with Python
For interactive plotting through a graphical user interface (GUI), one would use one of the following open-source programs:
- QtiPlot, inspired by the proprietary program Origin
- SciDAVis, a fork of QtiPlot
- LabPlot, project merged with SciDAVis
- HippoDraw
- Veusz, in Python
[edit] References
[edit] Further reading
| Wikibooks has a book on the topic of |
| The Wikibook Ad Hoc Data Analysis From The Unix Command Line has a page on the topic of |
- Janert, Philipp K (2010), Gnuplot in action: understanding data with graphs, Manning Publications, Connecticut, USA, pp. 350, ISBN 978-1-933-98839-9, http://www.manning.com/janert/.
[edit] External links
| Wikimedia Commons has media related to: Gnuplot diagrams |
- gnuplot Central contains links to the FAQ and to download locations
- gnuplot demo plots
- (Italian) Demo, plots and main controls
- Not so frequently asked questions — various tips about gnuplot
- Visualize your data with gnuplot — an IBM tutorial
- Gnuplot tips — mouse command reference
- Gnuplot at the Open Directory Project
- gnuplot-cpp — a C++ programming interface to gnuplot
- gnuplot-iostream — pipe gnuplot commands from a simple C++ class
- jgnuplot — a Java programming interface to gnuplot
- Chart::Gnuplot — a Perl programming interface to gnuplot
- feedgnuplot — a Perl script to plot real-time or stored data from standard input
- Plotshare — online interface for gnuplot that helps to share plots with others