The Gnuplot Plotting Utility
Gnuplot is a command-line driven interactive function plotting utility
for linux, OSX, MSWin, VMS, 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 graphical program to allow scientists
and students to visualize mathematical functions and data. Gnuplot
supports many different types of terminals, plotters, and printers
(including many color devices, and pseudo-devices like LaTeX) and is
easily extensible to include new devices.
The "GNU" in gnuplot is NOT related to the Free Software Foundation,
the naming is just a coincidence (and a long story; see the gnuplot FAQ
for details). Thus gnuplot is not covered by the GPL (GNU Public License)
copyleft, but rather by its own copyright statement, included in all source
code files. However, some of the associated drivers and support utilities
Gnuplot handles both curves (2 dimensions) and surfaces (3 dimensions).
Surfaces can be plotted as a mesh fitting the specified function, floating
in the 3-d coordinate space, or as a contour plot on the x-y plane.
For 2-d plots, there are also many plot styles including lines, points,
boxes, heat maps, stacked histograms, and contoured projections of 3D data.
Graphs may be labeled with arbitrary labels and arrows, axis labels,
a title, date and time, and a key. The interface includes command-line
editing and history on most platforms.
The new gnuplot user should begin by reading the general information
available by typing `help` after running gnuplot. Then read about the
`plot` command (type `help plot`). The manual for gnuplot (which is a
nicely formatted version of the on-line help information) is available
as a PDF document, created via LaTeX. Look at the docs/Makefile
for other options for formatting the documentation.
The gnuplot source code and executables may be copied and/or modified
freely as long as the copyright messages are left intact.
Copyright and Porting
See the Copyright file for copyright conditions.
See the ChangeLog and docs/old/History.old file for changes to gnuplot.
Build instructions are in the INSTALL file. Some additional
informations needed to port gnuplot to new platforms not covered by
GNU autoconf can be found in the PORTING file.
The code for gnuplot was written with portability in mind, and has been
run on an amazing variety of operating systems and hardware over the years.
However, the current code has not been tested on all those older platforms
and some of the conditional code to support quirks of obsolete compilers
and OS features has been removed. You can expect that gnuplot will compile
more or less out of the box on any system which has the GNU C compiler gcc
or other ANSI-compliant C compiler. Some specific [optional] drivers are
written in C++ or lua.
Help and Bug Reports
Your primary place to go searching for help with gnuplot should
be the project's webpage. At the time of this writing, that's
It has links to a lot of material, including the project's development
page, also at SourceForge:
Note that since gnuplot has nothing to do with the GNU project, please
don't ask them for help or information about gnuplot; also, please
don't ask us about GNU stuff.
Please note that all bug reports should include the machine you are
using, the operating system and it's version, plotting devices, and
the version of gnuplot that you are running. If you could add such
information to any messages on the Usenet newsgroup or the other
mailing lists and trackers, that'd be nice, too.
Additional help can be obtained from the USENET newsgroup
This newsgroup is the first place to ask for routine help. It used to be
gatewayed bi-directionally to the info-gnuplot mailing list, but that
had to be stopped when we moved the mailing lists off Dartmouth.
As of gnuplot-4.0, the gnuplot mailing lists have moved away from
their old home at Dartmouth College (thanks, guys!) to the project's
general new development site provided by SourceForge.net. To
subscribe to these new mailing lists, use the Web Interface provided
The main lists you may be interested in are "gnuplot-info" and
"gnuplot-bugs". "gnuplot-info" is for general discussion and
questions about how to use the program. But as noted above,
using the Usenet newsgroup for this kind of communication is
almost certainly better both for you and for us.
"gnuplot-bugs" is NOT an appropriate place to ask questions on how to
solve a gnuplot problem or even to report a bug that you haven't
investigated personally. It is far more likely you'll get the help
you need for this kind of problem from comp.graphics.apps.gnuplot
or the gnuplot-info mailing list.
Using "gnuplot-bugs" is also slightly disfavoured, because it makes it
hard for us to keep track what bugs are currently under investigation,
and hard for you to check if maybe the bug you've found has already
been reported by somebody else before. We would thus like to ask to
you please use the "Bug Tracker" system that is part of gnuplot's
development web site at SourceForge.net instead of this mailing list.
If you found a fix already, pleast post it in "diff -c" or "diff -u"
format done against the most current official version of gnuplot or
the latest alpha or beta release of the next version. All major
modifications should include documentation and, if new features were
added, a demo file. Finally, it is much easier to integrate smaller
stepwise modifications rather than one gigantic diff file which
represented months of changes.
There are separate tracking systems for Feature Requests and proposed
patches that implement new features, also hosted at SourceForge.
Discussions about plans for new features or other significant changes
should be announced and discussed on the developers' mailing list,
gnuplot-beta, which is also hosted by SourceForge.net.
Where to get updates to gnuplot
Congratulations on getting this version of gnuplot! Unfortunately, it
may not be the most recent version ("you never know where this version
has been!"). You can be sure that it IS the most recent version by
checking one of the official distribution sites, guaranteed to be kept
up to date (of course, if you got this file from one of those sites,
you don't need to check!).
To hear automatically about future releases (and other gnuplot news),
read the newsgroup; see above.