gnuplot - Man Page

an interactive plotting program

Examples (TL;DR)


gnuplot [X11 options] [options] [file ...]


Gnuplot is a command-driven interactive plotting program.

If file names are given on the command line, gnuplot loads and executes each file in the order specified, and exits after the last file is processed. If no files are given, gnuplot prompts for interactive commands.

Here are some of its features:

Plots any number of functions, built up of C operators, C math library functions, and some things C doesn't have like **, sgn(), etc.  

User-defined constants and functions.

All computations performed in the complex domain.  Just the real part is plotted by default, but functions like imag() and abs() and arg() are available to override this.

Many presentation styles for plotting user data from files, including surface-fitting, error bars, boxplots, histograms, heat maps, and simple manipulation of image data.  There is an on-line demo collection at

Nonlinear least-squares fitting.

2D and 3D plots with mouse-controlled zooming, rotation, and hypertext.

Shell escapes and command line substitution.

Load and save capability.

Support for a huge variety of output devices and file formats.


-p,  --persist
lets plot windows survive after main gnuplot program exits.

-c scriptname ARG1 ARG2 ..., load script using gnuplot's "call" mechanism and pass it the remainder of the command line as arguments

-d,  --default-settings
do not read from gnuplotrc, ~/.gnuplot, and $XDG_CONFIG_HOME/gnuplot/gnuplotrc on entry.
-e "command list"
executes the requested commands before loading the next input file.
-s,  --slow
wait for slow font initialization rather than continuing with an error.
-h,  --help
print summary of usage
-V,  --version
show current version

X11 Options

For terminal type x11, gnuplot accepts the standard X Toolkit options and resources such as geometry, font, and background. See the X(1) man page for a description of common options. For additional X options specific to gnuplot, type help x11 on the gnuplot command line. These options have no effect on other terminal types.


A number of shell environment variables are understood by gnuplot.  None of these are required.


The name of the terminal type to be used by default.  This can be overridden by the gnuplotrc, .gnuplot, or $XDG_CONFIG_HOME/gnuplot/gnuplotrc start-up files and, of course, by later explicit "set terminal" commands.


The pathname of the HELP file (gnuplot.gih).


The name of a directory to search for a .gnuplot file.


An output filter for help messages.


The program used for the "shell" command.


Specifies a gnuplot command to be executed when a fit is interrupted---see "help fit".  


The name of the logfile maintained by fit.


Additional search directories for data and command files. The variable may contain a single directory name, or a list of directories separated by ':'. The contents of GNUPLOT_LIB are appended to the "loadpath" variable, but not saved with the "save" and "save set" commands.


Several gnuplot terminal drivers access TrueType fonts via the gd library. This variable gives the font search path for these drivers.


The default font for the terminal drivers that access TrueType fonts via the gd library.


The font search path used by the postscript terminal. The format is the same as for GNUPLOT_LIB. The contents of GNUPLOT_FONTPATH are appended to the "fontpath" variable, but not saved with the "save" and "save set" commands.


Used by the postscript driver to locate external prologue files. Depending on the build process, gnuplot contains either a builtin copy of those files or simply a default hardcoded path. Use this variable to test the postscript terminal with custom prologue files. See "help postscript prologue".



When gnuplot is run, it first looks for a system-wide initialization file named gnuplotrc.  The standard location of this file expected by the program is reported by the "show loadpath" command.


After loading the system-wide initialization file, if any, Gnuplot looks for a private initialization file in the HOME directory. It may contain any legal gnuplot commands, but typically they are limited to setting the preferred terminal and line types and defining frequently-used functions or variables.


After loading the other initialization files, Gnuplot will check if there is a file named gnuplotrc in the gnuplot subdirectory in $XDG_CONFIG_HOME (default ~/.config).  The same restrictions as for .gnuplot apply.


The default name of the logfile output by the "fit" command.


Original authors: Thomas Williams and Colin Kelley. Starting with gnuplot version 3.8, the project source is cooperatively maintained on SourceForge by a large number of contributors.


Please report bugs using the project bug tracker on SourceForge.

See Also

See the printed manual or the on-line help for details on specific commands. Project web site at

Referenced By

amplot(8), bno_plot(1), c-graph(1), git-annex-log(1), gpscsv(1), gpsprof(1), ifpps(8), libinput-measure-touchpad-tap(1), plotchangelog(1), psad(8), pstoedit(1), rigsmtr(1), rigswr(1), scons-time(1), sox(1).

The man pages gnuplot-qt(1) and gnuplot-wx(1) are aliases of gnuplot(1).

15 March 2019