Gnuplot
   HOME

TheInfoList



OR:

gnuplot is a command-line and
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
program that can generate two- and three-dimensional plots of functions,
data In the pursuit of knowledge, data (; ) is a collection of discrete values that convey information, describing quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpret ...
, and data fits. The program runs on all major
computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations ( computation) automatically. Modern digital electronic computers can perform generic sets of operations known as programs. These prog ...
s and
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s (
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
,
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, ...
,
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
,
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
, FreeDOS, and many others). Originally released in 1986, its listed authors are Thomas Williams, Colin Kelley, Russell Lang, Dave Kotz, John Campbell, Gershon Elber, Alexander Woo "and many others." Despite its name, this software is not part of the
GNU Project The GNU Project () is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and computing devices by collabor ...
.


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 formula notation abilities. The program can be used both interactively and in batch mode using scripts. gnuplot can read data in multiple formats, including ability to read data on the fly generated by other programs ( piping), create multiple plots on one image, do 2D, 3D, contour plots, parametric equations, supports various linear and non-linear coordinate systems, projections, geographic and time data reading and presentation, box plots of various forms, histograms, labels, and other custom elements on the plot, including shapes, text and images, that can be set manually, computed by script or automatically from input data. gnuplot also provides scripting capabilities, looping, functions, text processing, variables, macros, arbitrary pre-processing of input data (usually across columns), as well ability to perform non-linear multi-dimensional multi-set weighted data fitting (see Curve fitting and Levenberg–Marquardt algorithm). The gnuplot core code is programmed in C. Modular subsystems for output via Qt, wxWidgets, and LaTeX/TikZ/ConTeXt are written in C++ and Lua. The code below creates the graph to the right. set title "Some Math Functions" set xrange 10:10set yrange 2:2set zeroaxis plot (x/4)**2, sin(x), 1/x 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". Support of Epidemic daily and week formats in Version 5.4.2 is a result of pandemic coronavirus data needs. Development Version 5.5 is 2021 available.


Distribution terms

Despite gnuplot's name, it is not named after, part of or related to the
GNU Project The GNU Project () is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and computing devices by collabor ...
, nor does it use the
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general ...
. It was named as part of a compromise by the original authors, punning on '' gnu'' (the animal) and ''newplot''. Official source code to gnuplot is freely redistributable, but modified versions thereof are not. The gnuplot license allows instead distribution of patches against official releases, optionally accompanied by officially released source code. Binaries may be distributed along with the unmodified source code and any patches applied thereto. Contact information must be supplied with derived works for technical support for the modified software.
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 Linux distributions including the stricter ones such as Debian and Fedora. The OSI Open Source Definition and the Debian Free Software Guidelines specifically allow for restrictions on distribution of modified source code, given explicit permission to distribute both patches and source code. Newer gnuplot modules (e.g. Qt, wxWidgets, and cairo drivers) have been contributed under dual-licensing terms, e.g. gnuplot + BSD or gnuplot + GPL.


GUIs and programs that use gnuplot

Several third-party programs have
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, ins ...
s that can be used to generate graphs using gnuplot as the plotting engine. These include: *
gretl gretl is an open-source statistical package, mainly for econometrics. The name is an acronym for ''G''nu ''R''egression, ''E''conometrics and ''T''ime-series ''L''ibrary. It has both a graphical user interface (GUI) and a command-line inter ...
, a statistics package for
econometrics Econometrics is the application of statistical methods to economic data in order to give empirical content to economic relationships. M. Hashem Pesaran (1987). "Econometrics," '' The New Palgrave: A Dictionary of Economics'', v. 2, p. 8 p. ...
* JGNUPlot, a java-based GUI * Kayali a
computer algebra system A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The ...
* xldlas, an old X11 statistics package * gnuplotxyz, an old Windows program * wxPinter, a graphical plot manager for gnuplot * Maxima is a text-based
computer algebra system A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The ...
which itself has several third-party GUIs. Other programs that use gnuplot include: *
GNU Octave GNU Octave is a high-level programming language primarily intended for scientific computing and numerical computation. Octave helps in solving linear and nonlinear problems numerically, and for performing other numerical experiments using a lan ...
, a mathematical programming language * statist, a terminal-based program * gplot.pl provides a simpler command-line interface.
feedgnuplot
provides a plotting of stored and realtime data from a pipe * ElchemeaAnalytical, an impedance spectroscopy plotting and fitting program developed by DTU Energy * Gnuplot add-in for
Microsoft Excel Microsoft Excel is a spreadsheet developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android and iOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a macro (comp ...
* Calc, the
GNU Emacs GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project ...
calculator


Programming and application interfaces

gnuplot can be used from various programming languages to graph data, including
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offic ...
(via
PDL PDL is an initialism for: Politics * Democratic Liberal Party (''Partidul Democrat Liberal''), a former political party in Romania *Labour Democratic Party (''Partito Democratico del Lavoro''), a former political party in Italy *Pole of Freedom ...
and other
CPAN The Comprehensive Perl Archive Network (CPAN) is a repository of over 250,000 software modules and accompanying documentation for 39,000 distributions, written in the Perl programming language by over 12,000 contributors. ''CPAN'' can denote ei ...
packages), Python (vi
gnuplotlibGnuplot-py
and SageMath), R via
Rgnuplot
, Julia (vi
Gaston.jl
,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
(vi
JavaGnuplotHybrid
an
jgnuplot
,
Ruby A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called ...
(vi
Ruby Gnuplot
, Ch (vi
Ch Gnuplot
, Haskell (vi
Haskell gnuplot
, Fortran 95, Smalltalk ( Squeak and GNU Smalltalk) and Rust (vi
RustGnuplot
. gnuplot also supports piping, which is typical of scripts. For script-driven graphics, gnuplot is one of the most popular programs.


Gnuplot output formats

Gnuplot allows the user to display or store plots in several ways: *On the console (output modes dumb, sixel) *In a desktop window (output modes Qt, wxt, X11, aquaterm, win, ...) *Embedded in a web page (output modes SVG, HTML5, PNG, JPEG, animated GIF, ...) *File formats designed for document processing (output modes PostScript, PDF, cgm, emf, LaTeX variants, ...)


See also

* List of graphing software


References


Further reading and external links

* *
Gnuplot 5
an interactive ebook about gnuplot v.5.
gnuplotting
a blog of gnuplot examples and tips
spplotters
a blog of gnuplot examples and tips
gnuplot surprising
a blog of gnuplot examples and tips * * * *
Visualize your data with gnuplot
an IBM tutorial {{Authority control Articles containing video clips Computer animation Cross-platform free software Data analysis software Free 3D graphics software Free educational software Free mathematics software Free plotting software Free software programmed in C Plotting software Regression and curve fitting software Software that uses wxWidgets Software that uses Qt