Section: User Commands (1)
Updated: 03 January 2001
Index Return to Main Contents


gnuplot - an interactive plotting program  


gnuplot [ X11 options ] [file ...]


Gnuplot is a command-driven interactive function plotting program.

If files are given, gnuplot loads each file with the load command, in the order specified. Gnuplot exits after the last file is processed.

Here are some of its features:

Plots any number of functions, built up of C operators, C library functions, and some things C doesn't have like **, sgn(), etc. Also support for plotting data files, to compare actual data to theoretical curves.

User-defined X and Y ranges (optional auto-ranging), smart axes scaling, smart tic marks.

Labelling of X and Y axes.

User-defined constants and functions.

Support for many output devices and file formats

Shell escapes and command line substitution.

Load and save capability.

Output redirection.

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.  


Gnuplot provides the x11 terminal type for use with X servers. This terminal type is set automatically at startup if the DISPLAY environment variable is set, if the TERM environment variable is set to xterm, or if the -display command line option is used. 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 the options. In addition to the X Toolkit options:

-clear requests that the window be cleared momentarily before a new plot is displayed.

-gray requests grayscale rendering on grayscale or color displays. (Grayscale displays receive monochrome rendering by default.)

-mono forces monochrome rendering on color displays.

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

-raise raises the plot window after each plot.

-noraise does not raise the plot window after each plot.

-tvtwm requests that geometry specifications for position of the window be made relative to the currently displayed portion of the virtual root.

These options may also be controlled with resources in your .Xdefaults file. For example: gnuplot*gray: on .

Gnuplot provides a command line option (-pointsize v) and a resource (gnuplot*pointsize: v) to control the size of points plotted with the "points" plotting style. The value v is a real number (greater than 0 and less than or equal to ten) used as a scaling factor for point sizes. For example, -pointsize 2 uses points twice the default size, and -pointsize 0.5 uses points half the normal size.

For monochrome displays, gnuplot does not honor foreground or background colors. The default is black-on-white. -rv or gnuplot*reverseVideo: on requests white-on-black.

For color displays gnuplot honors the following resources (shown here with default values). The values may be color names in the X11 rgb.txt file on your system, hexadecimal RGB color specifications (see X11 documentation), or a color name followed by a comma and an intensity value from 0 to 1. For example, blue,.5 means a half intensity blue.

gnuplot*background: white
gnuplot*textColor: black
gnuplot*borderColor: black
gnuplot*axisColor: black
gnuplot*line1Color: red
gnuplot*line2Color: green
gnuplot*line3Color: blue
gnuplot*line4Color: magenta
gnuplot*line5Color: cyan
gnuplot*line6Color: sienna
gnuplot*line7Color: orange
gnuplot*line8Color: coral

When -gray is selected, gnuplot honors the following resources for grayscale or color displays (shown here with default values). Note that the default background is black.

gnuplot*background: black
gnuplot*textGray: white
gnuplot*borderGray: gray50
gnuplot*axisGray: gray50
gnuplot*line1Gray: gray100
gnuplot*line2Gray: gray60
gnuplot*line3Gray: gray80
gnuplot*line4Gray: gray40
gnuplot*line5Gray: gray90
gnuplot*line6Gray: gray50
gnuplot*line7Gray: gray70
gnuplot*line8Gray: gray30

Gnuplot honors the following resources for setting the width in pixels of plot lines (shown here with default values.) 0 or 1 means a minimal width line of 1 pixel width. A value of 2 or 3 may improve the appearance of some plots.

gnuplot*borderWidth: 2
gnuplot*axisWidth: 0
gnuplot*line1Width: 0
gnuplot*line2Width: 0
gnuplot*line3Width: 0
gnuplot*line4Width: 0
gnuplot*line5Width: 0
gnuplot*line6Width: 0
gnuplot*line7Width: 0
gnuplot*line8Width: 0

Gnuplot honors the following resources for setting the dash style used for plotting lines. 0 means a solid line. A 2 digit number jk (j and k are >= 1 and <= 9) means a dashed line with a repeated pattern of j pixels on followed by k pixels off. For example, '16' is a "dotted" line with 1 pixel on followed by 6 pixels off. More elaborate on/off patterns can be specified with a 4 digit value. For example, '4441' is 4 on, 4 off, 4 on, 1 off. The default values shown below are for monochrome displays or monochrome rendering on color or grayscale displays. For color displays, the defaults for all are 0 (solid line) except for axisDashes which defaults to a '16' dotted line.

gnuplot*borderDashes: 0
gnuplot*axisDashes: 16
gnuplot*line1Dashes: 0
gnuplot*line2Dashes: 42
gnuplot*line3Dashes: 13
gnuplot*line4Dashes: 44
gnuplot*line5Dashes: 15
gnuplot*line6Dashes: 4441
gnuplot*line7Dashes: 42
gnuplot*line8Dashes: 13

The size or aspect ratio of a plot may be changed by resizing the gnuplot window.  


Thomas Williams, Pixar Corporation,
and Colin Kelley.

Additions for labelling by Russell Lang, Monash University, Australia.
Further additions by David Kotz, Dartmouth College, New Hampshire, USA (formerly of Duke University, North Carolina, USA).


See the help bugs command in gnuplot.  


See the printed manual or the on-line help for details on specific commands.



SEE ALSO manual pages