## Complete list of terminals

Gnuplot supports a large number of output formats. These are selected by choosing an appropriate terminal type, possibly with additional modifying options. See set terminal.

This document may describe terminal types that are not available to you because they were not configured or installed on your system. To see a list of terminals available on a particular gnuplot installation, type 'set terminal' with no modifiers.

### Aed767

The aed512 and aed767 terminal drivers support AED graphics terminals. The two drivers differ only in their horizontal ranges, which are 512 and 768 pixels, respectively. Their vertical range is 575 pixels. There are no options for these drivers.

### Aifm

NOTE: Outdated terminal, originally written for Adobe Illustrator 3.0+. Since Adobe Illustrator understands PostScript level 1 commands directly, you should use set terminal post level1 instead.

Syntax:

set terminal aifm {color|monochrome} {"<fontname>"} {<fontsize>}


### Aqua

This terminal relies on AquaTerm.app for display on Mac OS X.

Syntax:

set terminal aqua {<n>} {title "<wintitle>"} {size <x> <y>}
{font "<fontname>{,<fontsize>}"}
{{no}enhanced} {solid|dashed} {dl <dashlength>}}


where <n> is the number of the window to draw in (default is 0), <wintitle> is the name shown in the title bar (default "Figure <n>"), <x> <y> is the size of the plot (default is 846x594 pt = 11.75x8.25 in).

Use <fontname> to specify the font (default is "Times-Roman"), and <fontsize> to specify the font size (default is 14.0 pt).

The aqua terminal supports enhanced text mode (see enhanced), except for overprint. Font support is limited to the fonts available on the system. Character encoding can be selected by set encoding and currently supports iso_latin_1, iso_latin_2, cp1250, and UTF8 (default).

Lines can be drawn either solid or dashed, (default is solid) and the dash spacing can be modified by <dashlength> which is a multiplier > 0.

### Be

The be terminal type is present if gnuplot is built for the beos operating system and for use with X servers. It is selected at program 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.

Syntax:

set terminal be {reset} {<n>}


Multiple plot windows are supported: set terminal be <n> directs the output to plot window number n. If n>0, the terminal number will be appended to the window title and the icon will be labeled gplt <n>. The active window may distinguished by a change in cursor (from default to crosshair.)

Plot windows remain open even when the gnuplot driver is changed to a different device. A plot window can be closed by pressing the letter q while that window has input focus, or by choosing close from a window manager menu. All plot windows can be closed by specifying reset, which actually terminates the subprocess which maintains the windows (unless -persist was specified).

Plot windows will automatically be closed at the end of the session unless the -persist option was given.

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

Linewidths and pointsizes may be changed from within gnuplot with set linestyle.

For terminal type be, gnuplot accepts (when initialized) the standard X Toolkit options and resources such as geometry, font, and name from the command line arguments or a configuration file. See the X(1) man page (or its equivalent) for a description of such options.

A number of other gnuplot options are available for the be terminal. These may be specified either as command-line options when gnuplot is invoked or as resources in the configuration file ".Xdefaults". They are set upon initialization and cannot be altered during a gnuplot session.

#### Command-line_options

In addition to the X Toolkit options, the following options may be specified on the command line when starting gnuplot or as resources in your ".Xdefaults" file:

The options are shown above in their command-line syntax. When entered as resources in ".Xdefaults", they require a different syntax.

Example:

gnuplot*gray: on


gnuplot also 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.

#### Monochrome_options

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.

#### Color_resources

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

The command-line syntax for these is, for example,

Example:

gnuplot -background coral


#### Grayscale_resources

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

#### Line_resources

gnuplot honors the following resources for setting the width (in pixels) of plot lines (shown here with their 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 honors the following resources for setting the dash style used for plotting lines. 0 means a solid line. A two-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 one pixel on followed by six pixels off. More elaborate on/off patterns can be specified with a four-digit value. For example, '4441' is four on, four off, four on, one off. The default values shown below are for monochrome displays or monochrome rendering on color or grayscale displays. For color displays, the default for each is 0 (solid line) except for axisDashes which defaults to a '16' dotted line.

### Cairolatex

The cairolatex terminal device generates encapsulated PostScript (*.eps) or PDF output using the cairo and pango support libraries and uses LaTeX for text output using the same routines as the epslatex terminal.

Syntax:

set terminal cairolatex
{eps | pdf}
{standalone | input}
{blacktext | colortext | colourtext}
{mono|color}
{{no}transparent} {{no}crop} {background <rgbcolor>}
{font <font>} {fontscale <scale>}
{linewidth <lw>} {rounded|butt|square} {dashlength <dl>}
{size <XX>{unit},<YY>{unit}}


The cairolatex terminal prints a plot like terminal epscairo or terminal pdfcairo but transfers the texts to LaTeX instead of including them in the graph. For reference of options not explained here see pdfcairo.

eps and pdf select the type of graphics output. Use eps with latex/dvips and pdf for pdflatex.

blacktext forces all text to be written in black even in color mode;

The cairolatex driver offers a special way of controlling text positioning: (a) If any text string begins with '{', you also need to include a '}' at the end of the text, and the whole text will be centered both horizontally and vertically by LaTeX. (b) If the text string begins with '[', you need to continue it with: a position specification (up to two out of t,b,l,r,c), ']{', the text itself, and finally, '}'. The text itself may be anything LaTeX can typeset as an LR-box. \rule{}{}'s may help for best positioning. See also the documentation for the pslatex terminal driver. To create multiline labels, use \shortstack, for example

set ylabel '[r]{\shortstack{first line \\ second line}}'


The back option of set label commands is handled slightly different than in other terminals. Labels using 'back' are printed behind all other elements of the plot while labels using 'front' are printed above everything else.

The driver produces two different files, one for the eps or pdf part of the figure and one for the LaTeX part. The name of the LaTeX file is taken from the set output command. The name of the eps/pdf file is derived by replacing the file extension (normally '.tex') with '.eps' or '.pdf' instead. There is no LaTeX output if no output file is given! Remember to close the output file before next plot unless in multiplot mode.

In your LaTeX documents use '\input{filename}' to include the figure. The '.eps' or '.pdf' file is included by the command \includegraphics{...}, so you must also include \usepackage{graphicx} in the LaTeX preamble. If you want to use coloured text (option colourtext) you also have to include \usepackage{color} in the LaTeX preamble.

The behaviour concerning font selection depends on the header mode. In all cases, the given font size is used for the calculation of proper spacing. When not using the standalone mode the actual LaTeX font and font size at the point of inclusion is taken, so use LaTeX commands for changing fonts. If you use e.g. 12pt as font size for your LaTeX document, use '", 12"' as options. The font name is ignored. If using standalone the given font and font size are used, see below for a detailed description.

If text is printed coloured is controlled by the TeX booleans \ifGPcolor and \ifGPblacktext. Only if \ifGPcolor is true and \ifGPblacktext is false, text is printed coloured. You may either change them in the generated TeX file or provide them globally in your TeX file, for example by using

\newif\ifGPblacktext
\GPblacktexttrue


in the preamble of your document. The local assignment is only done if no global value is given.

When using the cairolatex terminal give the name of the TeX file in the set output command including the file extension (normally ".tex"). The graph filename is generated by replacing the extension.

If using the standalone mode a complete LaTeX header is added to the LaTeX file; and "-inc" is added to the filename of the gaph file. The standalone mode generates a TeX file that produces output with the correct size when using dvips, pdfTeX, or VTeX. The default, input, generates a file that has to be included into a LaTeX document using the \input command.

If a font other than "" or "default" is given it is interpreted as LaTeX font name. It contains up to three parts, separated by a comma: 'fontname,fontseries,fontshape'. If the default fontshape or fontseries are requested, they can be omitted. Thus, the real syntax for the fontname is '{fontname}{,fontseries}{,fontshape}'. The naming convention for all parts is given by the LaTeX font scheme. The fontname is 3 to 4 characters long and is built as follows: One character for the font vendor, two characters for the name of the font, and optionally one additional character for special fonts, e.g., 'j' for fonts with old-style numerals or 'x' for expert fonts. The names of many fonts is described in

http://www.tug.org/fontname/fontname.pdf


For example, 'cmr' stands for Computer Modern Roman, 'ptm' for Times-Roman, and 'phv' for Helvetica. The font series denotes the thickness of the glyphs, in most cases 'm' for normal ("medium") and 'bx' or 'b' for bold fonts. The font shape is 'n' for upright, 'it' for italics, 'sl' for slanted, or 'sc' for small caps, in general. Some fonts may provide different font series or shapes.

Examples:

Use Times-Roman boldface (with the same shape as in the surrounding text):

set terminal cairolatex font 'ptm,bx'


Use Helvetica, boldface, italics:

set terminal cairolatex font 'phv,bx,it'


Continue to use the surrounding font in slanted shape:

set terminal cairolatex font ',,sl'


Use small capitals:

set terminal cairolatex font ',,sc'


By this method, only text fonts are changed. If you also want to change the math fonts you have to use the "gnuplot.cfg" file or the header option, described below.

In standalone mode, the font size is taken from the given font size in the set terminal command. To be able to use a specified font size, a file "size<size>.clo" has to reside in the LaTeX search path. By default, 10pt, 11pt, and 12pt are supported. If the package "extsizes" is installed, 8pt, 9pt, 14pt, 17pt, and 20pt are added.

The header option takes a string as argument. This string is written into the generated LaTeX file. If using the standalone mode, it is written into the preamble, directly before the \begin{document} command. In the input mode, it is placed directly after the \begingroup command to ensure that all settings are local to the plot.

Examples:

Use T1 fontencoding, change the text and math font to Times-Roman as well as the sans-serif font to Helvetica:

set terminal cairolatex standalone header \
"\\usepackage[T1]{fontenc}\n\\usepackage{mathptmx}\n\\usepackage{helvet}"


Use a boldface font in the plot, not influencing the text outside the plot:

set terminal cairolatex input header "\\bfseries"


If the file "gnuplot.cfg" is found by LaTeX it is input in the preamble the LaTeX document, when using standalone mode. It can be used for further settings, e.g., changing the document font to Times-Roman, Helvetica, and Courier, including math fonts (handled by "mathptmx.sty"):

\usepackage{mathptmx}
\usepackage[scaled=0.92]{helvet}
\usepackage{courier}


The file "gnuplot.cfg" is loaded before the header information given by the header command. Thus, you can use header to overwrite some of settings performed using "gnuplot.cfg"

### Canvas

The canvas terminal creates a set of javascript commands that draw onto the HTML5 canvas element. Syntax:

set terminal canvas {size <xsize>, <ysize>} {background <rgb_color>}
{font {<fontname>}{,<fontsize>}} | {fsize <fontsize>}
{{no}enhanced} {linewidth <lw>}
{rounded | butt | square}
{dashlength <dl>}
{standalone {mousing} | name '<funcname>'}
{jsdir 'URL/for/javascripts'}
{title '<some string>'}


where <xsize> and <ysize> set the size of the plot area in pixels. The default size in standalone mode is 600 by 400 pixels. The default font size is 10.

NB: Only one font is available, the ascii portion of Hershey simplex Roman provided in the file canvastext.js. You can replace this with the file canvasmath.js, which contains also UTF-8 encoded Hershey simplex Greek and math symbols. For consistency with other terminals, it is also possible to use font "name,size". Currently the font name is ignored, but browser support for named fonts is likely to arrive eventually.

The default standalone mode creates an html page containing javascript code that renders the plot using the HTML 5 canvas element. The html page links to two required javascript files 'canvastext.js' and 'gnuplot_common.js'. An additional file 'gnuplot_dashedlines.js' is needed to support dashed lines. By default these point to local files, on unix-like systems usually in directory /usr/local/share/gnuplot/<version>/js. See installation notes for other platforms. You can change this by using the jsdir option to specify either a different local directory or a general URL. The latter is usually appropriate if the plot is exported for viewing on remote client machines.

All plots produced by the canvas terminal are mouseable. The additional keyword mousing causes the standalone mode to add a mouse-tracking box underneath the plot. It also adds a link to a javascript file 'gnuplot_mouse.js' and to a stylesheet for the mouse box 'gnuplot_mouse.css' in the same local or URL directory as 'canvastext.js'.

The name option creates a file containing only javascript. Both the javascript function it contains and the id of the canvas element that it draws onto are taken from the following string parameter. The commands

set term canvas name 'fishplot'
set output 'fishplot.js'


will create a file containing a javascript function fishplot() that will draw onto a canvas with id=fishplot. An html page that invokes this javascript function must also load the canvastext.js function as described above. A minimal html file to wrap the fishplot created above might be:

<html>
<script src="canvastext.js"></script>
<script src="gnuplot_common.js"></script>
<script src="fishplot.js"></script>
<canvas id="fishplot" width=600 height=400>
<div id="err_msg">No support for HTML 5 canvas element</div>
</canvas>
</body>
</html>


The individual plots drawn on this canvas will have names fishplot_plot_1, fishplot_plot_2, and so on. These can be referenced by external javascript routines, for example gnuplot.toggle_visibility("fishplot_plot_2").

### Cgm

The cgm terminal generates a Computer Graphics Metafile, Version 1. This file format is a subset of the ANSI X3.122-1986 standard entitled "Computer Graphics - Metafile for the Storage and Transfer of Picture Description Information".

Syntax:

set terminal cgm {color | monochrome} {solid | dashed} {{no}rotate}
{<mode>} {width <plot_width>} {linewidth <line_width>}
{font "<fontname>,<fontsize>"}
{background <rgb_color>}
recated]         {<color0> <color1> <color2> ...}


solid draws all curves with solid lines, overriding any dashed patterns; <mode> is landscape, portrait, or default; <plot_width> is the assumed width of the plot in points; <line_width> is the line width in points (default 1); <fontname> is the name of a font (see list of fonts below) <fontsize> is the size of the font in points (default 12).

The first six options can be in any order. Selecting default sets all options to their default values.

The mechanism of setting line colors in the set term command is deprecated. Instead you should set the background using a separate keyword and set the line colors using set linetype. The deprecated mechanism accepted colors of the form 'xrrggbb', where x is the literal character 'x' and 'rrggbb' are the red, green and blue components in hex. The first color was used for the background, subsequent colors are assigned to successive line types.

Examples:

set terminal cgm landscape color rotate dashed width 432 \
linewidth 1  'Helvetica Bold' 12       # defaults
set terminal cgm linewidth 2  14  # wider lines & larger font
set terminal cgm portrait "Times Italic" 12
set terminal cgm color solid      # no pesky dashes!


#### Cgm font

The first part of a Computer Graphics Metafile, the metafile description, includes a font table. In the picture body, a font is designated by an index into this table. By default, this terminal generates a table with the following 35 fonts, plus six more with italic replaced by oblique, or vice-versa (since at least the Microsoft Office and Corel Draw CGM import filters treat italic and oblique as equivalent):

The first thirteen of these fonts are required for WebCGM. The Microsoft Office CGM import filter implements the 13 standard fonts listed above, and also 'ZapfDingbats' and 'Script'. However, the script font may only be accessed under the name '15'. For more on Microsoft import filter font substitutions, check its help file which you may find here:

C:\Program Files\Microsoft Office\Office\Cgmimp32.hlp


and/or its configuration file, which you may find here:

C:\Program Files\Common Files\Microsoft Shared\Grphflt\Cgmimp32.cfg


In the set term command, you may specify a font name which does not appear in the default font table. In that case, a new font table is constructed with the specified font as its first entry. You must ensure that the spelling, capitalization, and spacing of the name are appropriate for the application that will read the CGM file. (Gnuplot and any MIL-D-28003A compliant application ignore case in font names.) If you need to add several new fonts, use several set term commands.

Example:

set terminal cgm 'Old English'
set terminal cgm 'Tengwar'
set terminal cgm 'Arabic'
set output 'myfile.cgm'
plot ...
set output


You cannot introduce a new font in a set label command.

#### Cgm fontsize

Fonts are scaled assuming the page is 6 inches wide. If the size command is used to change the aspect ratio of the page or the CGM file is converted to a different width, the resulting font sizes will be scaled up or down accordingly. To change the assumed width, use the width option.

#### Cgm linewidth

The linewidth option sets the width of lines in pt. The default width is 1 pt. Scaling is affected by the actual width of the page, as discussed under the fontsize and width options.

#### Cgm rotate

The norotate option may be used to disable text rotation. For example, the CGM input filter for Word for Windows 6.0c can accept rotated text, but the DRAW editor within Word cannot. If you edit a graph (for example, to label a curve), all rotated text is restored to horizontal. The Y axis label will then extend beyond the clip boundary. With norotate, the Y axis label starts in a less attractive location, but the page can be edited without damage. The rotate option confirms the default behavior.

#### Cgm solid

The solid option may be used to disable dashed line styles in the plots. This is useful when color is enabled and the dashing of the lines detracts from the appearance of the plot. The dashed option confirms the default behavior, which gives a different dash pattern to each line type.

#### Cgm size

Default size of a CGM plot is 32599 units wide and 23457 units high for landscape, or 23457 units wide by 32599 units high for portrait.

#### Cgm width

All distances in the CGM file are in abstract units. The application that reads the file determines the size of the final plot. By default, the width of the final plot is assumed to be 6 inches (15.24 cm). This distance is used to calculate the correct font size, and may be changed with the width option. The keyword should be followed by the width in points. (Here, a point is 1/72 inch, as in PostScript. This unit is known as a "big point" in TeX.) Gnuplot expressions can be used to convert from other units.

Example:

set terminal cgm width 432            # default
set terminal cgm width 6*72           # same as above
set terminal cgm width 10/2.54*72     # 10 cm wide


#### Cgm nofontlist

The default font table includes the fonts recommended for WebCGM, which are compatible with the Computer Graphics Metafile input filter for Microsoft Office and Corel Draw. Another application might use different fonts and/or different font names, which may not be documented. The nofontlist (synonym winword6) option deletes the font table from the CGM file. In this case, the reading application should use a default table. Gnuplot will still use its own default font table to select font indices. Thus, 'Helvetica' will give you an index of 1, which should get you the first entry in your application's default font table. 'Helvetica Bold' will give you its second entry, etc.

### Context

ConTeXt is a macro package for TeX, highly integrated with Metapost (for drawing figures) and intended for creation of high-quality PDF documents. The terminal outputs Metafun source, which can be edited manually, but you should be able to configure most things from outside.

For an average user of ConTeXt + gnuplot module it's recommended to refer to Using ConTeXt rather than reading this page or to read the manual of the gnuplot module for ConTeXt.

The context terminal supports the following options:

Syntax:

set term context {default}
{defaultsize | size <scale> | size <xsize>{in|cm}, <ysize>{in|cm}}
{input | standalone}
{timestamp | notimestamp}
{color | colour | monochrome}
{rounded | mitered | beveled} {round | butt | squared}
{dashed | solid} {dashlength | dl <dl>}
{linewidth | lw <lw>}
{fontscale <fontscale>}
{mppoints | texpoints}
{inlineimages | externalimages}
{defaultfont | font "{<fontname>}{,<fontsize>}"}


In non-standalone (input) graphic only parameters size to select graphic size, fontscale to scale all the labels for a factor <fontscale> and font size, make sense, the rest is silently ignored and should be configured in the .tex file which inputs the graphic. It's highly recommended to set the proper fontsize if document font differs from 12pt, so that gnuplot will know how much space to reserve for labels.

default resets all the options to their default values.

defaultsize sets the plot size to 5in,3in. size <scale> sets the plot size to <scale> times <default value>. If two arguments are given (separated with ','), the first one sets the horizontal size and the second one the vertical size. Size may be given without units (in which case it means relative to the default value), with inches ('in') or centimeters ('cm').

input (default) creates a graphic that can be included into another ConTeXt document. standalone adds some lines, so that the document might be compiled as-is. You might also want to add header in that case.

Use header for any additional settings/definitions/macros that you might want to include in a standalone graphic. noheader is the default.

notimestamp prevents printing creation time in comments (if version control is used, one may prefer not to commit new version when only date changes).

color to make color plots is the default, but monochrome doesn't do anything special yet. If you have any good ideas how the behaviour should differ to suit the monochrome printers better, your suggestions are welcome.

rounded (default), mitered and beveled control the shape of line joins. round (default), butt and squared control the shape of line caps. See PostScript or PDF Reference Manual for explanation. For wild-behaving functions and thick lines it is better to use rounded and round to prevent sharp corners in line joins. (Some general support for this should be added to Gnuplot, so that the same options could be set for each line (style) separately).

dashed (default) uses different dash patterns for different line types, solid draws all plots with solid lines.

dashlength or dl scales the length of the dashed-line segments by <dl>. linewidth or lw scales all linewidths by <lw>. (lw 1 stands for 0.5bp, which is the default line width when drawing with Metapost.) fontscale scales text labels for factor <fontscale> relative to default document font.

mppoints uses predefined point shapes, drawn in Metapost. texpoints uses easily configurable set of symbols, defined with ConTeXt in the following way:

\defineconversion[my own points][+,{\ss x},\mathematics{\circ}]
\setupGNUPLOTterminal[context][points=tex,pointset=my own points]


inlineimages writes binary images to a string and only works in ConTeXt MKIV. externalimages writes PNG files to disk and also works with ConTeXt MKII. Gnuplot needs to have support for PNG images built in for this to work.

With font you can set font name and size in standalone graphics. In non-standalone (input) mode only the font size is important to reserve enough space for text labels. The command

set term context font "myfont,ss,10"


will result in

\setupbodyfont[myfont,ss,10pt]


If you additionally set fontscale to 0.8 for example, then the resulting font will be 8pt big and

set label ... font "myfont,12"


will come out as 9.6pt.

It is your own responsibility to provide proper typescripts (and header), otherwise switching the font will have no effect. For a standard font in ConTeXt MKII (pdfTeX) you could use:

set terminal context standalone header '\usetypescript[iwona][ec]' \
font "iwona,ss,11"


Please take a look into ConTeXt documentation, wiki or mailing list (archives) for any up-to-date information about font usage.

Examples:

set terminal context size 10cm, 5cm     # 10cm, 5cm
set terminal context size 4in, 3in      # 4in, 3in


For standalone (whole-page) plots with labels in UTF-8 encoding:

set terminal context standalone header '\enableregime[utf-8]'


#### Requirements

You need gnuplot module for ConTeXt

http://ctan.org/pkg/context-gnuplot


and a recent version of ConTeXt. If you want to call gnuplot on-the-fly, you also need write18 enabled. In most TeX distributions this can be set with shell_escape=t in texmf.cnf.

See

http://wiki.contextgarden.net/Gnuplot


#### Calling gnuplot from context

The easiest way to make plots in ConTeXt documents is

\usemodule[gnuplot]
\starttext
\title{How to draw nice plots with {\sc gnuplot}?}
\startGNUPLOTscript[sin]
set format y "%.1f"
plot sin(x) t '$\sin(x)$'
\stopGNUPLOTscript
\useGNUPLOTgraphic[sin]
\stoptext


This will run gnuplot automatically and include the resulting figure in the document.

### Corel

The corel terminal driver supports CorelDraw.

Syntax:

set terminal corel {  default
| {monochrome | color
{"<font>" {<fontsize>
{<xsize> <ysize> {<linewidth> }}}}}


where the fontsize and linewidth are specified in points and the sizes in inches. The defaults are monochrome, "SwitzerlandLight", 22, 8.2, 10 and 1.2.

### Debug

This terminal is provided to allow for the debugging of gnuplot. It is likely to be of use only for users who are modifying the source code.

### Dumb

The dumb terminal driver plots into a text block using ascii characters. It has an optional size specification and a trailing linefeed flag.

Syntax:

set terminal dumb {size <xchars>,<ychars>} {[no]feed}
{aspect <htic>{,<vtic>}}
{[no]enhanced}


where <xchars> and <ychars> set the size of the text block. The default is 79 by 24. The last newline is printed only if feed is enabled.

The aspect option can be used to control the aspect ratio of the plot by setting the length of the horizontal and vertical tic marks. Only integer values are allowed. Default is 2,1 -- corresponding to the aspect ratio of common screen fonts.

Example:

set term dumb size 60,15 aspect 1
set tics nomirror scale 0.5
plot [-5:6.5] sin(x) with impulse ls -1

1 +-------------------------------------------------+
8 +|||++                   ++||||++                 |
6 +|||||+                 ++|||||||+  sin(x) +----+ |
4 +||||||+               ++|||||||||+               |
2 +|||||||+             ++|||||||||||+             +|
0 ++++++++++++++++++++++++++++++++++++++++++++++++++|
2 +        +|||||||||||+              +|||||||||||+ |
4 +         +|||||||||+                +|||||||||+  |
6 +          +|||||||+                  +|||||||+   |
8 +           ++||||+                    ++||||+    |
1 +---+--------+--------+-------+--------+--------+-+
-4       -2        0       2        4        6


### Dxf

The dxf terminal driver creates pictures that can be imported into AutoCad (Release 10.x). It has no options of its own, but some features of its plots may be modified by other means. The default size is 120x80 AutoCad units, which can be changed by set size. dxf uses seven colors (white, red, yellow, green, cyan, blue and magenta), which can be changed only by modifying the source file. If a black-and-white plotting device is used, the colors are mapped to differing line thicknesses. See the description of the AutoCad print/plot command.

### Dxy800a

This terminal driver supports the Roland DXY800A plotter. It has no options.

### Eepic

The eepic terminal driver supports the extended LaTeX picture environment. It is an alternative to the latex driver.

The output of this terminal is intended for use with the "eepic.sty" macro package for LaTeX. To use it, you need "eepic.sty", "epic.sty" and a printer driver that supports the "tpic" \specials. If your printer driver doesn't support those \specials, "eepicemu.sty" will enable you to use some of them. dvips and dvipdfm do support the "tpic" \specials.

Syntax:

set terminal eepic {default} {color|dashed} {rotate} {size XX,YY}
{small|tiny|<fontsize>}


Options: You can give options in any order you wish. 'color' causes gnuplot to produce \color{...} commands so that the graphs are colored. Using this option, you must include \usepackage{color} in the preamble of your latex document. 'dashed' will allow dashed line types; without this option, only solid lines with varying thickness will be used. 'dashed' and 'color' are mutually exclusive; if 'color' is specified, then 'dashed' will be ignored. 'rotate' will enable true rotated text (by 90 degrees). Otherwise, rotated text will be typeset with letters stacked above each other. If you use this option you must include \usepackage{graphicx} in the preamble. 'small' will use \scriptsize symbols as point markers (Probably does not work with TeX, only LaTeX2e). Default is to use the default math size. 'tiny' uses \scriptscriptstyle symbols. 'default' resets all options to their defaults = no color, no dashed lines, pseudo-rotated (stacked) text, large point symbols. <fontsize> is a number which specifies the font size inside the picture environment; the unit is pt (points), i.e., 10 pt equals approx. 3.5 mm. If fontsize is not specified, then all text inside the picture will be set in \footnotesize.

Notes: Remember to escape the # character (or other chars meaningful to (La-)TeX) by \\ (2 backslashes). It seems that dashed lines become solid lines when the vertices of a plot are too close. (I do not know if that is a general problem with the tpic specials, or if it is caused by a bug in eepic.sty or dvips/dvipdfm.) The default size of an eepic plot is 5x3 inches. You can change this using the size terminal option. Points, among other things, are drawn using the LaTeX commands "\Diamond", "\Box", etc. These commands no longer belong to the LaTeX2e core; they are included in the latexsym package, which is part of the base distribution and thus part of any LaTeX implementation. Please do not forget to use this package. Instead of latexsym, you can also include the amssymb package. All drivers for LaTeX offer a special way of controlling text positioning: If any text string begins with '{', you also need to include a '}' at the end of the text, and the whole text will be centered both horizontally and vertically. If the text string begins with '[', you need to follow this with a position specification (up to two out of t,b,l,r), ']{', the text itself, and finally '}'. The text itself may be anything LaTeX can typeset as an LR-box. '\rule{}{}'s may help for best positioning.

Examples: set term eepic

output graphs as eepic macros inside a picture environment;
\input the resulting file in your LaTeX document.


set term eepic color tiny rotate 8

eepic macros with \color macros, \scripscriptsize point markers,
true rotated text, and all text set with 8pt.


About label positioning: Use gnuplot defaults (mostly sensible, but sometimes not really best):

set title '\LaTeX\ -- $\gamma$'


Force centering both horizontally and vertically:

set label '{\LaTeX\ -- $\gamma$}' at 0,0


Specify own positioning (top here):

set xlabel '[t]{\LaTeX\ -- $\gamma$}'


The other label -- account for long ticlabels:

set ylabel '[r]{\LaTeX\ -- $\gamma$\rule{7mm}{0pt}}'


### Emf

The emf terminal generates an Enhanced Metafile Format file. This file format is recognized by many Windows applications.

Syntax:

set terminal emf {color | monochrome}
{enhanced {noproportional}}
{rounded | butt}
{linewidth <LW>} {dashlength <DL>}
{size XX,YY} {background <rgb_color>}
{font "<fontname>{,<fontsize>}"}
{fontscale <scale>}


In monochrome mode successive line types cycle through dash patterns. linewidth <factor> multiplies all line widths by this factor. dashlength <factor> is useful for thick lines. <fontname> is the name of a font; and <fontsize> is the size of the font in points.

The nominal size of the output image defaults to 1024x768 in arbitrary units. You may specify a different nominal size using the size option.

Enhanced text mode tries to approximate proportional character spacing. If you are using a monospaced font, or don't like the approximation, you can turn off this correction using the noproportional option.

The default settings are color font "Arial,12" size 1024,768 Selecting default sets all options to their default values.

Examples:

set terminal emf 'Times Roman Italic, 12'


### Emxvga

The emxvga, emxvesa and vgal terminal drivers support PCs with SVGA, vesa SVGA and VGA graphics boards, respectively. They are intended to be compiled with "emx-gcc" under either DOS or OS/2. They also need VESA and SVGAKIT maintained by Johannes Martin (JMARTIN@GOOFY.ZDV.UNI-MAINZ.DE) with additions by David J. Liu (liu@phri.nyu.edu).

Syntax:

set terminal emxvga
set terminal emxvesa {vesa-mode}
set terminal vgal


The only option is the vesa mode for emxvesa, which defaults to G640x480x256.

### Epscairo

The epscairo terminal device generates encapsulated PostScript (*.eps) using the cairo and pango support libraries. cairo version >= 1.6 is required.

### Epslatex

The epslatex driver generates output for further processing by LaTeX.

Syntax:

set terminal epslatex   {default}
set terminal epslatex   {standalone | input}
{oldstyle | newstyle}
{level1 | leveldefault | level3}
{color | colour | monochrome}
{background <rgbcolor> | nobackground}
{dashlength | dl <DL>}
{linewidth | lw <LW>}
{rounded | butt}
{clip | noclip}
{palfuncparam <samples>{,<maxdeviation>}}
{size <XX>{unit},<YY>{unit}}
{blacktext | colortext | colourtext}
{{font} "fontname{,fontsize}" {<fontsize>}}
{fontscale <scale>}


The epslatex terminal prints a plot as terminal postscript eps but transfers the texts to LaTeX instead of including in the PostScript code. Thus, many options are the same as in the postscript terminal.

The appearance of the epslatex terminal changed between versions 4.0 and 4.2 to reach better consistency with the postscript terminal: The plot size has been changed from 5 x 3 inches to 5 x 3.5 inches; the character width is now estimated to be 60% of the font size while the old epslatex terminal used 50%; now, the larger number of postscript linetypes and symbols are used. To reach an appearance that is nearly identical to the old one specify the option oldstyle. (In fact some small differences remain: the symbol sizes are slightly different, the tics are half as large as in the old terminal which can be changed using set tics scale, and the arrows have all features as in the postscript terminal.)

If you see the error message

"Can't find PostScript prologue file ... "


The option color enables color, while monochrome prefers black and white drawing elements. Further, monochrome uses gray palette but it does not change color of objects specified with an explicit colorspec. dashlength or dl scales the length of dashed-line segments by <DL>, which is a floating-point number greater than zero. linewidth or lw scales all linewidths by <LW>.

By default the generated PostScript code uses language features that were introduced in PostScript Level 2, notably filters and pattern-fill of irregular objects such as filledcurves. PostScript Level 2 features are conditionally protected so that PostScript Level 1 interpreters do not issue errors but, rather, display a message or a PostScript Level 1 approximation. The level1 option substitutes PostScript Level 1 approximations of these features and uses no PostScript Level 2 code. This may be required by some old printers and old versions of Adobe Illustrator. The flag level1 can be toggled later by editing a single line in the PostScript output file to force PostScript Level 1 interpretation. In the case of files containing level 2 code, the above features will not appear or will be replaced by a note when this flag is set or when the interpreting program does not indicate that it understands level 2 PostScript or higher. The flag level3 enables PNG encoding for bitmapped images, which can reduce the output size considerably.

rounded sets line caps and line joins to be rounded; butt is the default, butt caps and mitered joins.

clip tells PostScript to clip all output to the bounding box; noclip is the default.

palfuncparam controls how set palette functions are encoded as gradients in the output. Analytic color component functions (set via set palette functions) are encoded as linear interpolated gradients in the postscript output: The color component functions are sampled at <samples> points and all points are removed from this gradient which can be removed without changing the resulting colors by more than <maxdeviation>. For almost every useful palette you may safely leave the defaults of <samples>=2000 and <maxdeviation>=0.003 untouched.

The default size for postscript output is 10 inches x 7 inches. The default for eps output is 5 x 3.5 inches. The size option changes this to whatever the user requests. By default the X and Y sizes are taken to be in inches, but other units are possibly (currently only cm). The BoundingBox of the plot is correctly adjusted to contain the resized image. Screen coordinates always run from 0.0 to 1.0 along the full length of the plot edges as specified by the size option. NB: this is a change from the previously recommended method of using the set size command prior to setting the terminal type. The old method left the BoundingBox unchanged and screen coordinates did not correspond to the actual limits of the plot.

blacktext forces all text to be written in black even in color mode;

The epslatex driver offers a special way of controlling text positioning: (a) If any text string begins with '{', you also need to include a '}' at the end of the text, and the whole text will be centered both horizontally and vertically by LaTeX. (b) If the text string begins with '[', you need to continue it with: a position specification (up to two out of t,b,l,r,c), ']{', the text itself, and finally, '}'. The text itself may be anything LaTeX can typeset as an LR-box. \rule{}{}'s may help for best positioning. See also the documentation for the pslatex terminal driver. To create multiline labels, use \shortstack, for example

set ylabel '[r]{\shortstack{first line \\ second line}}'


The back option of set label commands is handled slightly different than in other terminals. Labels using 'back' are printed behind all other elements of the plot while labels using 'front' are printed above everything else.

The driver produces two different files, one for the eps part of the figure and one for the LaTeX part. The name of the LaTeX file is taken from the set output command. The name of the eps file is derived by replacing the file extension (normally .tex) with .eps instead. There is no LaTeX output if no output file is given! Remember to close the output file before next plot unless in multiplot mode.

In your LaTeX documents use '\input{filename}' to include the figure. The .eps file is included by the command \includegraphics{...}, so you must also include \usepackage{graphicx} in the LaTeX preamble. If you want to use coloured text (option textcolour) you also have to include \usepackage{color} in the LaTeX preamble.

Pdf files can be made from the eps file using 'epstopdf'. If the graphics package is properly configured, the LaTeX files can also be processed by pdflatex without changes, using the pdf files instead of the eps files. The behaviour concerning font selection depends on the header mode. In all cases, the given font size is used for the calculation of proper spacing. When not using the standalone mode the actual LaTeX font and font size at the point of inclusion is taken, so use LaTeX commands for changing fonts. If you use e.g. 12pt as font size for your LaTeX document, use '"" 12' as options. The font name is ignored. If using standalone the given font and font size are used, see below for a detailed description.

If text is printed coloured is controlled by the TeX booleans \ifGPcolor and \ifGPblacktext. Only if \ifGPcolor is true and \ifGPblacktext is false, text is printed coloured. You may either change them in the generated TeX file or provide them globally in your TeX file, for example by using

\newif\ifGPblacktext
\GPblacktexttrue


in the preamble of your document. The local assignment is only done if no global value is given.

When using the epslatex terminal give the name of the TeX file in the set output command including the file extension (normally ".tex"). The eps filename is generated by replacing the extension by ".eps".

If using the standalone mode a complete LaTeX header is added to the LaTeX file; and "-inc" is added to the filename of the eps file. The standalone mode generates a TeX file that produces output with the correct size when using dvips, pdfTeX, or VTeX. The default, input, generates a file that has to be included into a LaTeX document using the \input command.

If a font other than "" or "default" is given it is interpreted as LaTeX font name. It contains up to three parts, separated by a comma: 'fontname,fontseries,fontshape'. If the default fontshape or fontseries are requested, they can be omitted. Thus, the real syntax for the fontname is '[fontname][,fontseries][,fontshape]'. The naming convention for all parts is given by the LaTeX font scheme. The fontname is 3 to 4 characters long and is built as follows: One character for the font vendor, two characters for the name of the font, and optionally one additional character for special fonts, e.g., 'j' for fonts with old-style numerals or 'x' for expert fonts. The names of many fonts is described in

http://www.tug.org/fontname/fontname.pdf


For example, 'cmr' stands for Computer Modern Roman, 'ptm' for Times-Roman, and 'phv' for Helvetica. The font series denotes the thickness of the glyphs, in most cases 'm' for normal ("medium") and 'bx' or 'b' for bold fonts. The font shape is 'n' for upright, 'it' for italics, 'sl' for slanted, or 'sc' for small caps, in general. Some fonts may provide different font series or shapes.

Examples:

Use Times-Roman boldface (with the same shape as in the surrounding text):

set terminal epslatex 'ptm,bx'


Use Helvetica, boldface, italics:

set terminal epslatex 'phv,bx,it'


Continue to use the surrounding font in slanted shape:

set terminal epslatex ',,sl'


Use small capitals:

set terminal epslatex ',,sc'


By this method, only text fonts are changed. If you also want to change the math fonts you have to use the "gnuplot.cfg" file or the header option, described below.

In standalone mode, the font size is taken from the given font size in the set terminal command. To be able to use a specified font size, a file "size<size>.clo" has to reside in the LaTeX search path. By default, 10pt, 11pt, and 12pt are supported. If the package "extsizes" is installed, 8pt, 9pt, 14pt, 17pt, and 20pt are added.

The header option takes a string as argument. This string is written into the generated LaTeX file. If using the standalone mode, it is written into the preamble, directly before the \begin{document} command. In the input mode, it is placed directly after the \begingroup command to ensure that all settings are local to the plot.

Examples:

Use T1 fontencoding, change the text and math font to Times-Roman as well as the sans-serif font to Helvetica:

set terminal epslatex standalone header \
"\\usepackage[T1]{fontenc}\n\\usepackage{mathptmx}\n\\usepackage{helvet}"


Use a boldface font in the plot, not influencing the text outside the plot:

set terminal epslatex input header "\\bfseries"


If the file "gnuplot.cfg" is found by LaTeX it is input in the preamble the LaTeX document, when using standalone mode. It can be used for further settings, e.g., changing the document font to Times-Roman, Helvetica, and Courier, including math fonts (handled by "mathptmx.sty"):

\usepackage{mathptmx}
\usepackage[scaled=0.92]{helvet}
\usepackage{courier}


The file "gnuplot.cfg" is loaded before the header information given by the header command. Thus, you can use header to overwrite some of settings performed using "gnuplot.cfg"

### Epson_180dpi

This driver supports a family of Epson printers and derivatives.

epson_180dpi and epson_60dpi are drivers for Epson LQ-style 24-pin printers with resolutions of 180 and 60 dots per inch, respectively.

epson_lx800 is a generic 9-pin driver appropriate for printers like the Epson LX-800, the Star NL-10 and NX-1000, the PROPRINTER, and so forth.

nec_cp6 is generic 24-pin driver that can be used for printers like the NEC CP6 and the Epson LQ-800.

The okidata driver supports the 9-pin OKIDATA 320/321 Standard printers.

The starc driver is for the Star Color Printer.

The tandy_60dpi driver is for the Tandy DMP-130 series of 9-pin, 60-dpi printers.

The dpu414 driver is for the Seiko DPU-414 thermal printer.

nec_cp6 has the options:

Syntax:

set terminal nec_cp6 {monochrome | colour | draft}


which defaults to monochrome.

dpu414 has the options:

Syntax:

set terminal dpu414 {small | medium | large} {normal | draft}


which defaults to medium (=font size) and normal. Preferred combinations are medium normal and small draft.

### Excl

The excl terminal driver supports Talaris printers such as the EXCL Laser printer and the 1590. It has no options.

### Fig

The fig terminal device generates output in the Fig graphics language.

Syntax:

set terminal fig {monochrome | color}
{landscape | portrait}
{small | big | size <xsize> <ysize>}
{metric | inches}
{pointsmax <max_points>}
{solid | dashed}
{font "<fontname>{,<fontsize>}"}
{textnormal | {textspecial texthidden textrigid}}
{{thickness|linewidth} <units>}
{depth <layer>}
{version <number>}


monochrome and color determine whether the picture is black-and-white or color. small and big produce a 5x3 or 8x5 inch graph in the default landscape mode and 3x5 or 5x8 inches in portrait mode. size sets (overrides) the size of the drawing area to <xsize>*<ysize> in units of inches or centimeters depending on the inches or metric setting in effect. The latter settings is also used as default units for editing with "xfig".

pointsmax <max_points> sets the maximum number of points per polyline.

solid inhibits automatic usage of dashed lines when solid linestyles are used up, which otherwise occurs.

font sets the text font face to <fontname> and its size to <fontsize> points. textnormal resets the text flags and selects postscript fonts, textspecial sets the text flags for LaTeX specials, texthidden sets the hidden flag and textrigid the rigid flag.

depth sets the default depth layer for all lines and text. The default depth is 10 to leave room for adding material with "xfig" on top of the plot.

version sets the format version of the generated fig output. Currently only versions 3.1 and 3.2 are supported.

thickness sets the default line thickness, which is 1 if not specified. Overriding the thickness can be achieved by adding a multiple of 100 to the linetype value for a plot command. In a similar way the depth of plot elements (with respect to the default depth) can be controlled by adding a multiple of 1000 to <linetype>. The depth is then <layer> + <linetype>/1000 and the thickness is (<linetype>%1000)/100 or, if that is zero, the default line thickness. linewidth is a synonym for thickness.

Additional point-plot symbols are also available with the fig driver. The symbols can be used through pointtype values % 100 above 50, with different fill intensities controlled by <pointtype> % 5 and outlines in black (for <pointtype> % 10 < 5) or in the current color. Available symbols are

50 - 59:  circles
60 - 69:  squares
70 - 79:  diamonds
80 - 89:  upwards triangles
90 - 99:  downwards triangles


The size of these symbols is linked to the font size. The depth of symbols is by default one less than the depth for lines to achieve nice error bars. If <pointtype> is above 1000, the depth is <layer> + <pointtype>/1000-1. If <pointtype>%1000 is above 100, the fill color is (<pointtype>%1000)/100-1.

Available fill colors are (from 1 to 9): black, blue, green, cyan, red, magenta, yellow, white and dark blue (in monochrome mode: black for 1 to 6 and white for 7 to 9).

See plot with for details of <linetype> and <pointtype>.

The big option is a substitute for the bfig terminal in earlier versions, which is no longer supported.

Examples:

set terminal fig monochrome small pointsmax 1000  # defaults

plot 'file.dat' with points linetype 102 pointtype 759


would produce circles with a blue outline of width 1 and yellow fill color.

plot 'file.dat' using 1:2:3 with err linetype 1 pointtype 554


would produce errorbars with black lines and circles filled red. These circles are one layer above the lines (at depth 9 by default).

To plot the error bars on top of the circles use

plot 'file.dat' using 1:2:3 with err linetype 1 pointtype 2554


### Ggi

The ggi driver can run on different targets as X or svgalib.

Syntax:

set terminal ggi [acceleration <integer>] [[mode] {mode}]


In X the window cannot be resized using window manager handles, but the mode can be given with the mode option, e.g.:

Please refer to the ggi documentation for other modes. The 'mode' keyword is optional. It is recommended to select the target by environment variables as explained in the libggi manual page. To get DGA on X, you should for example

bash> export GGI_DISPLAY=DGA
csh>  setenv GGI_DISPLAY DGA


'acceleration' is only used for targets which report relative pointer motion events (e.g. DGA) and is a strictly positive integer multiplication factor for the relative distances. The default for acceleration is 7.

Examples:

set term ggi acc 10
set term ggi acc 1 mode V1024x768
set term ggi V1024x768


### Gif

Syntax:

set terminal gif
{{no}enhanced}
{{no}transparent} {rounded|butt}
{linewidth <lw>} {dashlength <dl>}
{tiny | small | medium | large | giant}
{font "<face> {,<pointsize>}"} {fontscale <scale>}
{size <x>,<y>} {{no}crop}
{animate {delay <d>} {loop <n>} {{no}optimize}}
{background <rgb_color>}


PNG, JPEG and GIF images are created using the external library libgd. GIF plots may be viewed interactively by piping the output to the 'display' program from the ImageMagick package as follows:

set term gif
set output '| display gif:-'


You can view the output from successive plot commands interactively by typing <space> in the display window. To save the current plot to a file, left click in the display window and choose save.

transparent instructs the driver to make the background color transparent. Default is notransparent.

The linewidth and dashlength options are scaling factors that affect all lines drawn, i.e. they are multiplied by values requested in various drawing commands.

butt instructs the driver to use a line drawing method that does not overshoot the desired end point of a line. This setting is only applicable for line widths greater than 1. This setting is most useful when drawing horizontal or vertical lines. Default is rounded.

The details of font selection are complicated. Two equivalent simple examples are given below:

set term gif font arial 11
set term gif font "arial,11"


The animate option is available only if your local gd library supports the creation of animated gifs. The default delay between display of successive images may be specified in units of 1/100 second (default 5). The actual delay may vary depending on the program used as a viewer. Number of animation loops can be specified, default 0 means infinity. An animation sequence is terminated by the next set output or set term command. The optimize option has two effects on the animation.

1) A single color map is used for the entire animation. This requires that all colors used in any frame of the animation are already defined in the first frame.

2) If possible, only the portions of a frame that differ from the previous frame are stored in the animation file. This space saving may not be possible if the animation uses transparency.

Both of these optimizations are intended to produce a smaller output file, but the decrease in size is probably only significant for long animations or very small frame sizes. The nooptimize option turns off both of the effects just described. Each frame is stored in its entirety along with a private color map. Note that it is possible to post-process a non-optimized animation using external utilities, and this post-processing can yield a smaller file than gnuplot's internal optimization mode. The default is nooptimize.

The output plot size <x,y> is given in pixels---it defaults to 640x480. Please see additional information under canvas and set size. Blank space at the edges of the finished plot may be trimmed using the crop option, resulting in a smaller final image size. Default is nocrop.

#### Examples

set terminal gif medium size 640,480 background '#ffffff'


Use the medium size built-in non-scaleable, non-rotatable font. Use white (24 bit RGB in hexadecimal) for the non-transparent background.

set terminal gif font arial 14 enhanced


Searches for a scalable font with face name 'arial' and sets the font size to 14pt. Please see fonts for details of how the font search is done. Because this is a scalable font, we can use enhanced text mode.

set term gif animate transparent opt delay 10 size 200,200


Open the gif terminal for creation of an animated gif file. The individual frames of the animation sequence are created by the script file animate2.dem from the standard collection of demos.

### Gpic

The gpic terminal driver generates GPIC graphs in the Free Software Foundations's "groff" package. The default size is 5 x 3 inches. The only option is the origin, which defaults to (0,0).

Syntax:

set terminal gpic {<x> <y>}


where x and y are in inches.

A simple graph can be formatted using

groff -p -mpic -Tps file.pic > file.ps.


The output from pic can be pipe-lined into eqn, so it is possible to put complex functions in a graph with the set label and set {x/y}label commands. For instance,

set ylab '@space 0 int from 0 to x alpha ( t ) roman d t@'


will label the y axis with a nice integral if formatted with the command:

gpic filename.pic | geqn -d@@ -Tps | groff -m[macro-package] -Tps
> filename.ps


Figures made this way can be scaled to fit into a document. The pic language is easy to understand, so the graphs can be edited by hand if need be. All co-ordinates in the pic-file produced by gnuplot are given as x+gnuplotx and y+gnuploty. By default x and y are given the value 0. If this line is removed with an editor in a number of files, one can put several graphs in one figure like this (default size is 5.0x3.0 inches):

.PS 8.0
x=0;y=3
copy "figa.pic"
x=5;y=3
copy "figb.pic"
x=0;y=0
copy "figc.pic"
x=5;y=0
copy "figd.pic"
.PE


This will produce an 8-inch-wide figure with four graphs in two rows on top of each other.

One can also achieve the same thing by specifying x and y in the command

set terminal gpic x y


### Grass

The grass terminal driver gives gnuplot capabilities to users of the GRASS geographic information system. Contact grassp-list@moon.cecer.army.mil for more information. Pages are written to the current frame of the GRASS Graphics Window. There are no options.

### Hp2623a

The hp2623a terminal driver supports the Hewlett Packard HP2623A. It has no options.

### Hp2648

The hp2648 terminal driver supports the Hewlett Packard HP2647 and HP2648. It has no options.

### Hp500c

The hp500c terminal driver supports the Hewlett Packard HP DeskJet 500c. It has options for resolution and compression.

Syntax:

set terminal hp500c {<res>} {<comp>}


where res can be 75, 100, 150 or 300 dots per inch and comp can be "rle", or "tiff". Any other inputs are replaced by the defaults, which are 75 dpi and no compression. Rasterization at the higher resolutions may require a large amount of memory.

### Hpgl

The hpgl driver produces HPGL output for devices like the HP7475A plotter. There are two options which can be set: the number of pens and eject, which tells the plotter to eject a page when done. The default is to use 6 pens and not to eject the page when done.

The international character sets ISO-8859-1 and CP850 are recognized via set encoding iso_8859_1 or set encoding cp850 (see set encoding for details).

Syntax:

set terminal hpgl {<number_of_pens>} {eject}


The selection

set terminal hpgl 8 eject


is equivalent to the previous hp7550 terminal, and the selection

set terminal hpgl 4


is equivalent to the previous hp7580b terminal.

The pcl5 driver supports plotters such as the Hewlett-Packard Designjet 750C, the Hewlett-Packard Laserjet III, and the Hewlett-Packard Laserjet IV. It actually uses HPGL-2, but there is a name conflict among the terminal devices. It has several options which must be specified in the order indicated below:

Syntax:

set terminal pcl5 {mode <mode>} {<plotsize>}
{{color {<number_of_pens>}} | monochrome} {solid | dashed}
{font <font>} {size <fontsize>} {pspoints | nopspoints}


<mode> is landscape or portrait. <plotsize> is the physical plotting size of the plot, which is one of the following: letter for standard (8 1/2" X 11") displays, legal for (8 1/2" X 14") displays, noextended for (36" X 48") displays (a letter size ratio) or, extended for (36" X 55") displays (almost a legal size ratio). color is for multi-pen (i.e. color) plots, and <number_of_pens> is the number of pens (i.e. colors) used in color plots. monochrome is for one (e.g. black) pen plots. solid draws all lines as solid lines, or dashed will draw lines with different dashed and dotted line patterns. <font> is stick, univers, cg_times, zapf_dingbats, antique_olive, arial, courier, garamond_antigua, letter_gothic, cg_omega, albertus, times_new_roman, clarendon, coronet, marigold, truetype_symbols, or wingdings. <fontsize> is the font size in points. The point type selection can be the standard default set by specifying nopspoints, or the same set of point types found in the postscript terminal by specifying pspoints.

Note that built-in support of some of these options is printer device dependent. For instance, all the fonts are supposedly supported by the HP Laserjet IV, but only a few (e.g. univers, stick) may be supported by the HP Laserjet III and the Designjet 750C. Also, color obviously won't work on the the laserjets since they are monochrome devices.

Defaults: landscape, noextended, color (6 pens), solid, univers, 12 point,

and nopspoints.


With pcl5 international characters are handled by the printer; you just put the appropriate 8-bit character codes into the text strings. You don't need to bother with set encoding.

HPGL graphics can be imported by many software packages.

### Hpljii

The hpljii terminal driver supports the HP Laserjet Series II printer. The hpdj driver supports the HP DeskJet 500 printer. These drivers allow a choice of resolutions.

Syntax:

set terminal hpljii | hpdj {<res>}


where res may be 75, 100, 150 or 300 dots per inch; the default is 75. Rasterization at the higher resolutions may require a large amount of memory.

The hp500c terminal is similar to hpdj; hp500c additionally supports color and compression.

### Hppj

The hppj terminal driver supports the HP PaintJet and HP3630 printers. The only option is the choice of font.

Syntax:

set terminal hppj {FNT5X9 | FNT9X17 | FNT13X25}


with the middle-sized font (FNT9X17) being the default.

### Imagen

The imagen terminal driver supports Imagen laser printers. It is capable of placing multiple graphs on a single page.

Syntax:

set terminal imagen {<fontsize>} {portrait | landscape}
{[<horiz>,<vert>]}


where fontsize defaults to 12 points and the layout defaults to landscape. <horiz> and <vert> are the number of graphs in the horizontal and vertical directions; these default to unity.

Example:

set terminal imagen portrait [2,3]


puts six graphs on the page in three rows of two in portrait orientation.

### Jpeg

Syntax:

set terminal jpeg
{{no}enhanced}
{{no}interlace}
{linewidth <lw>} {dashlength <dl>} {rounded|butt}
{tiny | small | medium | large | giant}
{font "<face> {,<pointsize>}"} {fontscale <scale>}
{size <x>,<y>} {{no}crop}
{background <rgb_color>}


PNG, JPEG and GIF images are created using the external library libgd. In most cases, PNG is to be preferred for single plots, and GIF for animations. Both are loss-less image formats, and produce better image quality than the lossy JPEG format. This is in particular noticeable for solid color lines against a solid background, i.e. exactly the sort of image typically created by gnuplot.

The interlace option creates a progressive JPEG image. Default is nointerlace.

The linewidth and dashlength options are scaling factors that affect all lines drawn, i.e. they are multiplied by values requested in various drawing commands.

butt instructs the driver to use a line drawing method that does not overshoot the desired end point of a line. This setting is only applicable for line widths greater than 1. This setting is most useful when drawing horizontal or vertical lines. Default is rounded.

The details of font selection are complicated. Two equivalent simple examples are given below:

set term jpeg font arial 11
set term jpeg font "arial,11"


The output plot size <x,y> is given in pixels---it defaults to 640x480. Please see additional information under canvas and set size. Blank space at the edges of the finished plot may be trimmed using the crop option, resulting in a smaller final image size. Default is nocrop.

### Kyo

The kyo and prescribe terminal drivers support the Kyocera laser printer. The only difference between the two is that kyo uses "Helvetica" whereas prescribe uses "Courier". There are no options.

### Latex

Syntax:

set terminal {latex | emtex} {default | {courier|roman} {<fontsize>}}
{size <XX>{unit}, <YY>{unit}} {rotate | norotate}


By default the plot will inherit font settings from the embedding document. You have the option of forcing either Courier (cmtt) or Roman (cmr) fonts instead. In this case you may also specify a fontsize. Unless your driver is capable of building fonts at any size (e.g. dvips), stick to the standard 10, 11 and 12 point sizes.

METAFONT users beware: METAFONT does not like odd sizes.

All drivers for LaTeX offer a special way of controlling text positioning: If any text string begins with '{', you also need to include a '}' at the end of the text, and the whole text will be centered both horizontally and vertically. If the text string begins with '[', you need to follow this with a position specification (up to two out of t,b,l,r), ']{', the text itself, and finally '}'. The text itself may be anything LaTeX can typeset as an LR-box. '\rule{}{}'s may help for best positioning.

Points, among other things, are drawn using the LaTeX commands "\Diamond" and "\Box". These commands no longer belong to the LaTeX2e core; they are included in the latexsym package, which is part of the base distribution and thus part of any LaTeX implementation. Please do not forget to use this package. Other point types use symbols from the amssymb package.

The default size for the plot is 5 inches by 3 inches. The size option changes this to whatever the user requests. By default the X and Y sizes are taken to be in inches, but other units are possible (currently only cm).

If 'rotate' is specified, rotated text, especially a rotated y-axis label, is possible (the packages graphics or graphicx are needed). The 'stacked' y-axis label mechanism is then deactivated.

Examples: About label positioning: Use gnuplot defaults (mostly sensible, but sometimes not really best):

set title '\LaTeX\ -- $\gamma$'


Force centering both horizontally and vertically:

set label '{\LaTeX\ -- $\gamma$}' at 0,0


Specify own positioning (top here):

set xlabel '[t]{\LaTeX\ -- $\gamma$}'


The other label -- account for long ticlabels:

set ylabel '[r]{\LaTeX\ -- $\gamma$\rule{7mm}{0pt}}'


### Linux

The linux driver has no additional options to specify. It looks at the environment variable GSVGAMODE for the default mode; if not set, it uses 1024x768x256 as default mode or, if that is not possible, 640x480x16 (standard VGA).

### Lua

The lua generic terminal driver works in conjunction with an external Lua script to create a target-specific plot file. Currently the only supported target is TikZ -> pdflatex.

Information about Lua is available at http://www.lua.org .

Syntax:

set terminal lua <target name> | "<file name>"
{<script_args> ...}
{help}


A 'target name' or 'file name' (in quotes) for a script is mandatory. If a 'target name' for the script is given, the terminal will look for "gnuplot-<target name>.lua" in the local directory and on failure in the environmental variable GNUPLOT_LUA_DIR.

All arguments will be provided to the selected script for further evaluation. E.g. 'set term lua tikz help' will cause the script itself to print additional help on options and choices for the script.

#### Lua tikz

The TikZ driver is one output mode of the generic Lua terminal.

Syntax:

set terminal lua tikz

{latex | tex | context}
{color | monochrome}
{dashed | solid}
{nooriginreset | originreset}
{nogparrows | gparrows}
{nogppoints | gppoints}
{picenvironment | nopicenvironment}
{noclip | clip}
{notightboundingbox | tightboundingbox}
{background "<colorpec>"}
{size <x>{unit},<y>{unit}}
{scale <x>,<y>}
{plotsize <x>{unit},<y>{unit}}
{charsize <x>{unit},<y>{unit}}
{font "<fontdesc>"}
{{fontscale | textscale} <scale>}
{nofulldoc | nostandalone | fulldoc | standalone}
{tikzplot <ltn>,...}
{notikzarrows | tikzarrows}
{rgbimages | cmykimages}
{noexternalimages|externalimages}
{bitmap | nobitmap}
{providevars <var name>,...}
{createstyle}
{help}


For all options that expect lengths as their arguments they will default to 'cm' if no unit is specified. For all lengths the following units may be used: 'cm', 'mm', 'in' or 'inch', 'pt', 'pc', 'bp', 'dd', 'cc'. Blanks between numbers and units are not allowed.

'monochrome' disables line coloring and switches to grayscaled fills.

'solid' use only solid lines.

'originreset' moves the origin of the TikZ picture to the lower left corner of the plot. It may be used to align several plots within one tikzpicture environment. This is not tested with multiplots and pm3d plots!

'gparrows' use gnuplot's internal arrow drawing function instead of the ones provided by TikZ.

'gppoints' use gnuplot's internal plotmark drawing function instead of the ones provided by TikZ.

'nopicenvironment' omits the declaration of the 'tikzpicture' environment in order to set it manually. This permits putting some PGF/TikZ code directly before or after the plot.

'clip' crops the plot at the defined canvas size. Default is 'noclip' by which only a minimum bounding box of the canvas size is set. Neither a fixed bounding box nor a crop box is set if the 'plotsize' or 'tightboundingbox' option is used.

If 'tightboundingbox' is set the 'clip' option is ignored and the final bounding box is the natural bounding box calculated by tikz.

'background' sets the background color to the value specified in the <colorpec> argument. <colorspec> must be a valid color name or a 3 byte RGB code as a hexadecimal number with a preceding number sign ('#'). E.g. '#ff0000' specifies pure red. If omitted the background is transparent.

The 'size' option expects two lenghts <x> and <y> as the canvas size. The default size of the canvas is 12.5cm x 8.75cm.

The 'scale' option works similar to the 'size' option but expects scaling factors <x> and <y> instead of lengths.

The 'plotsize' option permits setting the size of the plot area instead of the canvas size, which is the usual gnuplot behaviour. Using this option may lead to slightly asymmetric tic lengths. Like 'originreset' this option may not lead to convenient results if used with multiplots or pm3d plots. An alternative approach is to set all margins to zero and to use the 'noclip' option. The plot area has then the dimensions of the given canvas sizes.

The 'charsize' option expects the average horizontal and vertical size of the used font. Look at the generated style file for an example of how to use it from within your TeX document.

'fontscale' or 'textscale' expects a scaling factor as a parameter. All texts in the plot are scaled by this factor then.

The options 'tex', 'latex' and 'context' choose the TeX output format. LaTeX is the default. To load the style file put the according line at the beginning of your document:

\input gnuplot-lua-tikz.tex    % (for plain TeX)
\usepackage{gnuplot-lua-tikz}  % (for LaTeX)
\usemodule[gnuplot-lua-tikz]   % (for ConTeXt)


'createstyle' derives the TeX/LaTeX/ConTeXt styles from the script and writes them to the appropriate files.

'fulldoc' or 'standalone' produces a full LaTeX document for direct compilation.

'preamble' or 'header' may be used to put any additional LaTeX code into the document preamble in standalone mode.

With the 'tikzplot' option the '\path plot' command will be used instead of only '\path'. The following list of numbers of linetypes (<ltn>,...) defines the affected plotlines. There exists a plotstyle for every linetype. The default plotstyle is 'smooth' for every linetype >= 1.

By using the 'tikzarrows' option the gnuplot arrow styles defined by the user will be mapped to TikZ arrow styles. This is done by 'misusing' the angle value of the arrow definition. E.g. an arrow style with the angle '7' will be mapped to the TikZ style 'gp arrow 7' ignoring all the other given values. By default the TikZ terminal uses the stealth' arrow tips for all arrows. To obtain the default gnuplot behaviour please use the 'gparrows' option.

With 'cmykimages' the CMYK color model will be used for inline image data instead of the RGB model. All other colors (like line colors etc.) are not affected by this option, since they are handled e.g. by LaTeX's xcolor package. This option is ignored if images are externalized.

By using the 'externalimages' option all bitmap images will be written as external PNG images and included at compile time of the document. Generating DVI and later postscript files requires to convert the PNGs into EPS files in a seperate step e.g. by using ImageMagick's convert. Transparent bitmap images are always generated as an external PNGs.

The 'nobitmap' option let images be rendered as filled rectangles instead of the nativ PS or PDF inline image format. This option is ignored if images are externalized.

The 'providevars' options makes gnuplot's internal and user variables available by using the '\gpgetvar{<var name>}' commmand within the TeX script. Use gnuplot's 'show variables all' command to see the list of valid variables.

The <fontdesc> string may contain any valid TeX/LaTeX/ConTeXt font commands like e.g. '\small'. It is passed directly as a node parameter in form of "font={<fontdesc>}". This can be 'misused' to add further code to a node, e.g. '\small,yshift=1ex' or ',yshift=1ex' are also valid while the latter does not change the current font settings. One exception is the second argument of the list. If it is a number of the form <number>{unit} it will be interpreted as a fontsize like in other terminals and will be appended to the first argument. If the unit is omitted the value is interpreted as 'pt'. As an example the string '\sffamily,12,fill=red' sets the font to LaTeX's sans serif font at a size of 12pt and red background color. The same applies to ConTeXt, e.g. '\switchtobodyfont[iwona],10' changes the font to Iwona at a size of 10pt. Plain TeX users have to change the font size explicitly within the first argument. The second should be set to the same value to get proper scaling of text boxes.

Strings have to be put in single or double quotes. Double quoted strings may contain special characters like newlines '\n' etc.

### Mf

The mf terminal driver creates an input file to the METAFONT program. Thus a figure may be used in the TeX document in the same way as is a character.

To use a picture in a document, the METAFONT program must be run with the output file from gnuplot as input. Thus, the user needs a basic knowledge of the font creating process and the procedure for including a new font in a document. However, if the METAFONT program is set up properly at the local site, an unexperienced user could perform the operation without much trouble.

The text support is based on a METAFONT character set. Currently the Computer Modern Roman font set is input, but the user is in principal free to choose whatever fonts he or she needs. The METAFONT source files for the chosen font must be available. Each character is stored in a separate picture variable in METAFONT. These variables may be manipulated (rotated, scaled etc.) when characters are needed. The drawback is the interpretation time in the METAFONT program. On some machines (i.e. PC) the limited amount of memory available may also cause problems if too many pictures are stored.

The mf terminal has no options.

#### Metafont instructions

- Set your terminal to METAFONT:

set terminal mf


- Select an output-file, e.g.:

set output "myfigures.mf"


- Create your pictures. Each picture will generate a separate character. Its default size will be 5*3 inches. You can change the size by saying set size 0.5,0.5 or whatever fraction of the default size you want to have.

- Quit gnuplot.

- Generate a TFM and GF file by running METAFONT on the output of gnuplot. Since the picture is quite large (5*3 in), you will have to use a version of METAFONT that has a value of at least 150000 for memmax. On Unix systems these are conventionally installed under the name bigmf. For the following assume that the command virmf stands for a big version of METAFONT. For example:

- Invoke METAFONT:

virmf '&plain'


- Select the output device: At the METAFONT prompt ('*') type:

\mode:=CanonCX;     % or whatever printer you use


- Optionally select a magnification:

mag:=1;             % or whatever you wish


- Input the gnuplot-file:

input myfigures.mf


On a typical Unix machine there will usually be a script called "mf" that executes virmf '&plain', so you probably can substitute mf for virmf &plain. This will generate two files: mfput.tfm and mfput.$$gf (where$$$indicates the resolution of your device). The above can be conveniently achieved by typing everything on the command line, e.g.: virmf '&plain' '\mode:=CanonCX; mag:=1; input myfigures.mf' In this case the output files will be named myfigures.tfm and myfigures.300gf. - Generate a PK file from the GF file using gftopk: gftopk myfigures.300gf myfigures.300pk  The name of the output file for gftopk depends on the DVI driver you use. Ask your local TeX administrator about the naming conventions. Next, either install the TFM and PK files in the appropriate directories, or set your environment variables properly. Usually this involves setting TEXFONTS to include the current directory and doing the same thing for the environment variable that your DVI driver uses (no standard name here...). This step is necessary so that TeX will find the font metric file and your DVI driver will find the PK file. - To include your pictures in your document you have to tell TeX the font: \font\gnufigs=myfigures  Each picture you made is stored in a single character. The first picture is character 0, the second is character 1, and so on... After doing the above step, you can use the pictures just like any other characters. Therefore, to place pictures 1 and 2 centered in your document, all you have to do is: \centerline{\gnufigs\char0} \centerline{\gnufigs\char1}  in plain TeX. For LaTeX you can, of course, use the picture environment and place the picture wherever you wish by using the \makebox and \put macros. This conversion saves you a lot of time once you have generated the font; TeX handles the pictures as characters and uses minimal time to place them, and the documents you make change more often than the pictures do. It also saves a lot of TeX memory. One last advantage of using the METAFONT driver is that the DVI file really remains device independent, because no \special commands are used as in the eepic and tpic drivers. ### Mif The mif terminal driver produces Frame Maker MIF format version 3.00. It plots in MIF Frames with the size 15*10 cm, and plot primitives with the same pen will be grouped in the same MIF group. Plot primitives in a gnuplot page will be plotted in a MIF Frame, and several MIF Frames are collected in one large MIF Frame. The MIF font used for text is "Times". Several options may be set in the MIF 3.00 driver. Syntax: set terminal mif {color | colour | monochrome} {polyline | vectors} {help | ?}  colour plots lines with line types >= 0 in colour (MIF sep. 2--7) and monochrome plots all line types in black (MIF sep. 0). polyline plots curves as continuous curves and vectors plots curves as collections of vectors. help and ? print online help on standard error output---both print a short description of the usage; help also lists the options. Examples: set term mif colour polylines # defaults set term mif # defaults set term mif vectors set term mif help  ### Mp The mp driver produces output intended to be input to the Metapost program. Running Metapost on the file creates EPS files containing the plots. By default, Metapost passes all text through TeX. This has the advantage of allowing essentially any TeX symbols in titles and labels. Syntax: set term mp {color | colour | monochrome} {solid | dashed} {notex | tex | latex} {magnification <magsize>} {psnfss | psnfss-version7 | nopsnfss} {prologues <value>} {a4paper} {amstex} {"<fontname> {,<fontsize>}"}  The option color causes lines to be drawn in color (on a printer or display that supports it), monochrome (or nothing) selects black lines. The option solid draws solid lines, while dashed (or nothing) selects lines with different patterns of dashes. If solid is selected but color is not, nearly all lines will be identical. This may occasionally be useful, so it is allowed. The option notex bypasses TeX entirely, therefore no TeX code can be used in labels under this option. This is intended for use on old plot files or files that make frequent use of common characters like$ and % that require special handling in TeX.

The option tex sets the terminal to output its text for TeX to process.

The option latex sets the terminal to output its text for processing by LaTeX. This allows things like \frac for fractions which LaTeX knows about but TeX does not. Note that you must set the environment variable TEX to the name of your LaTeX executable (normally latex) if you use this option or use mpost --tex=<name of LaTeX executable> .... Otherwise metapost will try and use TeX to process the text and it won't work.

Changing font sizes in TeX has no effect on the size of mathematics, and there is no foolproof way to make such a change, except by globally setting a magnification factor. This is the purpose of the magnification option. It must be followed by a scaling factor. All text (NOT the graphs) will be scaled by this factor. Use this if you have math that you want at some size other than the default 10pt. Unfortunately, all math will be the same size, but see the discussion below on editing the MP output. mag will also work under notex but there seems no point in using it as the font size option (below) works as well.

The option psnfss uses postscript fonts in combination with LaTeX. Since this option only makes sense, if LaTeX is being used, the latex option is selected automatically. This option includes the following packages for LaTeX: inputenc(latin1), fontenc(T1), mathptmx, helvet(scaled=09.2), courier, latexsym and textcomp.

The option psnfss-version7 uses also postscript fonts in LaTeX (option latex is also automatically selected), but uses the following packages with LaTeX: inputenc(latin1), fontenc(T1), times, mathptmx, helvet and courier.

The option nopsnfss is the default and uses the standard font (cmr10 if not otherwise specified).

The option prologues takes a value as an additional argument and adds the line prologues:=<value> to the metapost file. If a value of 2 is specified metapost uses postscript fonts to generate the eps-file, so that the result can be viewed using e.g. ghostscript. Normally the output of metapost uses TeX fonts and therefore has to be included in a (La)TeX file before you can look at it.

The option noprologues is the default. No additional line specifying the prologue will be added.

The option a4paper adds a [a4paper] to the documentclass. Normally letter paper is used (default). Since this option is only used in case of LaTeX, the latex option is selected automatically.

The option amstex automatically selects the latex option and includes the following LaTeX packages: amsfonts, amsmath(intlimits). By default these packages are not included.

A name in quotes selects the font that will be used when no explicit font is given in a set label or set title. A name recognized by TeX (a TFM file exists) must be used. The default is "cmr10" unless notex is selected, then it is "pcrr8r" (Courier). Even under notex, a TFM file is needed by Metapost. The file pcrr8r.tfm is the name given to Courier in LaTeX's psnfss package. If you change the font from the notex default, choose a font that matches the ASCII encoding at least in the range 32-126. cmtt10 almost works, but it has a nonblank character in position 32 (space).

The size can be any number between 5.0 and 99.99. If it is omitted, 10.0 is used. It is advisable to use magstep sizes: 10 times an integer or half-integer power of 1.2, rounded to two decimals, because those are the most available sizes of fonts in TeX systems.

All the options are optional. If font information is given, it must be at the end, with size (if present) last. The size is needed to select a size for the font, even if the font name includes size information. For example, set term mp "cmtt12" selects cmtt12 shrunk to the default size 10. This is probably not what you want or you would have used cmtt10.

The following common ascii characters need special treatment in TeX:



### Vgagl

The vgagl driver is a fast linux console driver with full mouse and pm3d support. It looks at the environment variable SVGALIB_DEFAULT_MODE for the default mode; if not set, it uses a 256 color mode with the highest available resolution.

Syntax:

set terminal vgagl \
background [red] [[green] [blue]] \
[uniform | interpolate] \
[mode]


The color mode can also be given with the mode option. Both Symbolic names as G1024x768x256 and integers are allowed. The background option takes either one or three integers in the range [0, 255]. If only one integers is supplied, it is taken as gray value for the background. If three integers are present, the background gets the corresponding color. The (mutually exclusive) options interpolate and uniform control if color interpolation is done while drawing triangles (on by default).

To get high resolution modes, you will probably have to modify the configuration file of libvga, usually /etc/vga/libvga.conf. Using the VESA fb is a good choice, but this needs to be compiled in the kernel.

The vgagl driver uses the first *available* vga mode from the following list:

G1024x768x256 would first check, if the G1024x768x256 mode is available.


### Vws

The VWS terminal driver supports the VAX Windowing System. It has no options. It will sense the display type (monochrome, gray scale, or color.) All line styles are plotted as solid lines.

### Vx384

The vx384 terminal driver supports the Vectrix 384 and Tandy color printers. It has no options.

### Windows

The windows terminal is a fast interactive terminal driver that uses the Windows GDI to draw and write text. The cross-platform terminal wxt is also supported on Windows.

Syntax:

set terminal windows {<n>}
{color | monochrome}
{solid | dashed}
{rounded | butt}
{enhanced | noenhanced}
{font <fontspec>}
{fontscale <scale>}
{linewdith <scale>}
{background <rgb color>}
{title "Plot Window Title"}
{size <width>,<height>}
{position <x>,<y>}
{close}


Multiple plot windows are supported: set terminal win <n> directs the output to plot window number n.

color and monochrome select colored or mono output, dashed and solid select dashed or solid lines. Note that color defaults to solid, whereas monochrome defaults to dashed. rounded sets line caps and line joins to be rounded; butt is the default, butt caps and mitered joins. enhanced enables enhanced text mode features (subscripts, superscripts and mixed fonts, see enhanced text for more information). <fontspec> is in the format "<fontface>,<fontsize>", where "<fontface>" is the name of a valid Windows font, and <fontsize> is the size of the font in points and both components are optional. Note that in previous versions of gnuplot the font statement could be left out and <fontsize> could be given as a number without double quotes. This is no longer supported. linewidth and fontscale can be used to scale the width of lines and the size of text. title changes the title of the graph window. size defines the width and height of the window in pixel and position the origin of the window i.e. the position of the top left corner on the screen (again in pixel). These options override any default settings from the wgnuplot.ini file.

Other options may be changed using the graph-menu or the initialization file wgnuplot.ini.

The Windows version normally terminates immediately as soon as the end of any files given as command line arguments is reached (i.e. in non-interactive mode), unless you specify - as the last command line option. It will also not show the text-window at all, in this mode, only the plot. By giving the optional argument -persist (same as for gnuplot under x11; former Windows-only options /noend or -noend are still accepted as well), will not close gnuplot. Contrary to gnuplot on other operating systems, gnuplot's interactive command line is accessible after the -persist option.

The plot window remains open when the gnuplot terminal is changed with a set term command. The plot window can be closed with set term windows close.

gnuplot supports different methods to create printed output on Windows, see windows printing. The windows terminal supports data exchange with other programs via clipboard and EMF files, see graph-menu. You can also use the terminal emf to create EMF files.

The gnuplot graph window has the following options on a pop-up menu accessed by pressing the right mouse button(*) or selecting Options from the system menu:

Copy to Clipboard copies a bitmap and an enhanced Metafile picture.

Save as EMF... allows the user to save the current graph window as enhanced metafile

Print... prints the graphics windows using a Windows printer driver and allows selection of the printer and scaling of the output. The output produced by Print is not as good as that from gnuplot's own printer drivers. See also windows printing.

Bring to Top when checked brings the graph window to the top after every plot.

Color when checked enables color linestyles. When unchecked it forces monochrome linestyles.

Double buffer activates drawing into a memory buffer before copying the graph to the screen. This avoids flickering e.g. during animation and rotation of 3d graphs. See mouse and scrolling.

Oversampling doubles the size of the virtual canvas. It is scaled down again for drawing to the screen. This gives smoother graphics but requires more memory and computing time. It requires double buffer.

Antialiasing selects smoothing of lines and edges. Note that this slows down drawing.

Fast rotation switches antialiasing temporarily off while rotating the graph with the mouse. This speeds up drawing considerably at the expense of an additional redraw after releasing the mouse button.

Background... sets the window background color.

Choose Font... selects the font used in the graphics window.

Line Styles... allows customization of the line colors and styles.

Update wgnuplot.ini saves the current window locations, window sizes, text window font, text window font size, graph window font, graph window font size, background color and linestyles to the initialization file wgnuplot.ini.

(*) Note that this menu is only available by pressing the right mouse button with unset mouse.

#### Printing

In order of preference, graphs may be printed in the following ways:

1. Use the gnuplot command set terminal to select a printer and set output to redirect output to a file.

2. Select the Print... command from the gnuplot graph window. An extra command screendump does this from the text window.

3. If set output "PRN" is used, output will go to a temporary file. When you exit from gnuplot or when you change the output with another set output command, a dialog box will appear for you to select a printer port. If you choose OK, the output will be printed on the selected port, passing unmodified through the print manager. It is possible to accidentally (or deliberately) send printer output meant for one printer to an incompatible printer.

The gnuplot text window has the following options on a pop-up menu accessed by pressing the right mouse button or selecting Options from the system menu:

Copy to Clipboard copies marked text to the clipboard.

Paste copies text from the clipboard as if typed by the user.

Choose Font... selects the font used in the text window.

System Colors when selected makes the text window honor the System Colors set using the Control Panel. When unselected, text is black or blue on a white background.

Wrap long lines when selected lines longer than the current window width are wrapped.

Update wgnuplot.ini saves the current settings to the initialisation file wgnuplot.ini, which is located in the user's application data directory.

#### Wgnuplot.mnu

If the menu file wgnuplot.mnu is found in the same directory as gnuplot, then the menu specified in wgnuplot.mnu will be loaded. Menu commands:

Macros take two lines with the macro name (menu entry) on the first line and the macro on the second line. Leading spaces are ignored. Macro commands:

terminated by [EOS], followed by a default filename terminated
by [EOS] or {ENTER}.

terminated by [EOS] or {ENTER}


Macro character substitutions:

Macros are limited to 256 characters after expansion.

#### Wgnuplot.ini

The Windows text window and the windows terminal will read some of their options from the [WGNUPLOT] section of wgnuplot.ini. This file is located in the user's application data directory. Here's a sample wgnuplot.ini file:

[WGNUPLOT]
TextOrigin=0 0
TextSize=640 150
TextFont=Terminal,9
TextWrap=1
TextLines=400
SysColors=0
GraphOrigin=0 150
GraphSize=640 330
GraphFont=Arial,10
GraphColor=1
GraphToTop=1
GraphDoublebuffer=1
GraphOversampling=0
GraphAntialiasing=1
GraphFastRotation=1
GraphBackground=255 255 255
Border=0 0 0 0 0
Axis=192 192 192 2 2
Line1=0 0 255 0 0
Line2=0 255 0 0 1
Line3=255 0 0 0 2
Line4=255 0 255 0 3
Line5=0 0 128 0 4


### Text window options

These settings apply to the wgnuplot text-window only. The TextOrigin and TextSize entries specify the location and size of the text window.

The TextFont entry specifies the text window font and size.

The TextWrap entry selects wrapping of long text lines.

The TextLines entry specifies the number of (unwrapped) lines the internal buffer of the text window can hold. This value currently cannot be changed from within wgnuplot.

### Graph window options

The GraphFont entry specifies the font name and size in points.

The five numbers given in the Border, Axis and Line entries are the Red intensity (0--255), Green intensity, Blue intensity, Color Linestyle and Mono Linestyle. Linestyles are 0=SOLID, 1=DASH, 2=DOT, 3=DASHDOT, 4=DASHDOTDOT. In the sample wgnuplot.ini file above, Line 2 is a green solid line in color mode, or a dashed line in monochrome mode. The default line width is 1 pixel. If Linestyle is negative, it specifies the width of a SOLID line in pixels. Line1 and any linestyle used with the points style must be SOLID with unit width.

### Wxt

The wxt terminal device generates output in a separate window. The window is created by the wxWidgets library, where the 'wxt' comes from. The actual drawing is done via cairo, a 2D graphics library, and pango, a library for laying out and rendering text.

Syntax:

set term wxt {<n>}
{size <width>,<height>} {position <x>,<y>}
{background <rgb_color>}
{{no}enhanced}
{font <font>} {fontscale <scale>}
{title "title"}
{linewidth <lw>}
{dashlength <dl>}
{{no}persist}
{{no}raise}
{{no}ctrl}
{close}


Multiple plot windows are supported: set terminal wxt <n> directs the output to plot window number n.

The default window title is based on the window number. This title can also be specified with the keyword "title".

Plot windows remain open even when the gnuplot driver is changed to a different device. A plot window can be closed by pressing the letter 'q' while that window has input focus, by choosing close from a window manager menu, or with set term wxt <n> close.

The size of the plot area is given in pixels, it defaults to 640x384. In addition to that, the actual size of the window also includes the space reserved for the toolbar and the status bar. When you resize a window, the plot is immediately scaled to fit in the new size of the window. Unlike other interactive terminals, the wxt terminal scales the whole plot, including fonts and linewidths, and keeps its global aspect ratio constant, leaving an empty space painted in gray. If you type replot, click the replot icon in the terminal toolbar or type a new plot command, the new plot will completely fit in the window and the font size and the linewidths will be reset to their defaults.

The position option can be used to set the position of the plot window. The position option only applies to the first plot after the set term command.

The active plot window (the one selected by set term wxt <n>) is interactive. Its behaviour is shared with other terminal types. See mouse for details. It also has some extra icons, which are supposed to be self-explanatory.

This terminal supports an enhanced text mode, which allows font and other formatting commands (subscripts, superscripts, etc.) to be embedded in labels and other text strings. The enhanced text mode syntax is shared with other gnuplot terminal types. See enhanced for more details.

<font> is in the format "FontFace,FontSize", i.e. the face and the size comma-separated in a single string. FontFace is a usual font face name, such as 'Arial'. If you do not provide FontFace, the wxt terminal will use 'Sans'. FontSize is the font size, in points. If you do not provide it, the wxt terminal will use a size of 10 points.

For example :
set term wxt font "Arial,12"
set term wxt font "Arial" # to change the font face only
set term wxt font ",12" # to change the font size only
set term wxt font "" # to reset the font name and size


The fonts are retrieved from the usual fonts subsystems. Under Windows, those fonts are to be found and configured in the entry "Fonts" of the control panel. Under UNIX, they are handled by "fontconfig".

Pango, the library used to layout the text, is based on utf-8. Thus, the wxt terminal has to convert from your encoding to utf-8. The default input encoding is based on your 'locale'. If you want to use another encoding, make sure gnuplot knows which one you are using. See encoding for more details.

Pango may give unexpected results with fonts that do not respect the unicode mapping. With the Symbol font, for example, the wxt terminal will use the map provided by http://www.unicode.org/ to translate character codes to unicode. Pango will do its best to find a font containing this character, looking for your Symbol font, or other fonts with a broad unicode coverage, like the DejaVu fonts. Note that "the Symbol font" is to be understood as the Adobe Symbol font, distributed with Acrobat Reader as "SY______.PFB". Alternatively, the OpenSymbol font, distributed with OpenOffice.org as "opens___.ttf", offers the same characters. Microsoft has distributed a Symbol font ("symbol.ttf"), but it has a different character set with several missing or moved mathematic characters. If you experience problems with your default setup (if the demo enhancedtext.dem is not displayed properly for example), you probably have to install one of the Adobe or OpenOffice Symbol fonts, and remove the Microsoft one. Other non-conform fonts, such as "wingdings" have been observed working.

The rendering of the plot can be altered with a dialog available from the toolbar. To obtain the best output possible, the rendering involves three mechanisms : antialiasing, oversampling and hinting. Antialiasing allows to display non-horizontal and non-vertical lines smoother. Oversampling combined with antialiasing provides subpixel accuracy, so that gnuplot can draw a line from non-integer coordinates. This avoids wobbling effects on diagonal lines ('plot x' for example). Hinting avoids the blur on horizontal and vertical lines caused by oversampling. The terminal will snap these lines to integer coordinates so that a one-pixel-wide line will actually be drawn on one and only one pixel.

By default, the window is raised to the top of your desktop when a plot is drawn. This can be controlled with the keyword "raise". The keyword "persist" will prevent gnuplot from exiting before you explicitely close all the plot windows. Finally, by default the key <space> raises the gnuplot console window, and 'q' closes the plot window. The keyword "ctrl" allows you to replace those bindings by <ctrl>+<space> and <ctrl>+'q', respectively. These three keywords (raise, persist and ctrl) can also be set and remembered between sessions through the configuration dialog.

### X11

Syntax:

set terminal x11 {<n> | window "<string>"}
{title "<string>"}
{{no}enhanced} {font <fontspec>}
{linewidth LW}
{{no}persist} {{no}raise} {{no}ctrlq}
{{no}replotonresize}
{close}
{size XX,YY} {position XX,YY}
set terminal x11 {reset}


Multiple plot windows are supported: set terminal x11 <n> directs the output to plot window number n. If n is not 0, the terminal number will be appended to the window title (unless a title has been supplied manually) and the icon will be labeled Gnuplot <n>. The active window may be distinguished by a change in cursor (from default to crosshair).

The x11 terminal can connect to X windows previously created by an outside application via the option window followed by a string containing the X ID for the window in hexadecimal format. Gnuplot uses that external X window as a container since X does not allow for multiple clients selecting the ButtonPress event. In this way, gnuplot's mouse features work within the contained plot window.

set term x11 window "220001e"


The x11 terminal supports enhanced text mode (see enhanced), subject to the available fonts. In order for font size commands embedded in text to have any effect, the default x11 font must be scalable. Thus the first example below will work as expected, but the second will not.

set term x11 enhanced font "arial,15"
set title '{/=20 Big} Medium {/=5 Small}'

set term x11 enhanced font "terminal-14"
set title '{/=20 Big} Medium {/=5 Small}'


Plot windows remain open even when the gnuplot driver is changed to a different device. A plot window can be closed by pressing the letter q while that window has input focus, or by choosing close from a window manager menu. All plot windows can be closed by specifying reset, which actually terminates the subprocess which maintains the windows (unless -persist was specified). The close command can be used to close individual plot windows by number. However, after a reset, those plot windows left due to persist cannot be closed with the command close. A close without a number closes the current active plot window.

The gnuplot outboard driver, gnuplot_x11, is searched in a default place chosen when the program is compiled. You can override that by defining the environment variable GNUPLOT_DRIVER_DIR to point to a different location.

Plot windows will automatically be closed at the end of the session unless the -persist option was given.

The options persist and raise are unset by default, which means that the defaults (persist == no and raise == yes) or the command line options -persist / -raise or the Xresources are taken. If [no]persist or [no]raise are specified, they will override command line options and Xresources. Setting one of these options takes place immediately, so the behaviour of an already running driver can be modified. If the window does not get raised, see discussion in raise.

The option replotonresize (active by default) replots the data when the plot window is resized. Without this option, the even-aspect-ratio scaling may result in the plot filling only part of the window after resizing. With this option, gnuplot does a full replot on each resize event, resulting in better space utilization. This option is generally desirable, unless the potentially CPU-intensive replotting during resizing is a concern. Replots can be manually initiated with hotkey 'e' or the 'replot' command.

The option title "<title name>" will supply the title name of the window for the current plot window or plot window <n> if a number is given. Where (or if) this title is shown depends on your X window manager.

The size option can be used to set the size of the plot window. The size option will only apply to newly created windows.

The position option can be used to set the position of the plot window. The position option will only apply to newly created windows.

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

Linewidths and pointsizes may be changed from within gnuplot with set linestyle.

For terminal type x11, gnuplot accepts (when initialized) the standard X Toolkit options and resources such as geometry, font, and name from the command line arguments or a configuration file. See the X(1) man page (or its equivalent) for a description of such options.

A number of other gnuplot options are available for the x11 terminal. These may be specified either as command-line options when gnuplot is invoked or as resources in the configuration file ".Xdefaults". They are set upon initialization and cannot be altered during a gnuplot session. (except persist and raise)

#### X11_fonts

Upon initial startup, the default font is taken from the X11 resources as set in the system or user .Xdefaults file or on the command line.

Example:

gnuplot*font: lucidasans-bold-12


A new default font may be specified to the x11 driver from inside gnuplot using

set term x11 font "<fontspec>"


The driver first queries the X-server for a font of the exact name given. If this query fails, then it tries to interpret <fontspec> as "<font>,<size>,<slant>,<weight>" and to construct a full X11 font name of the form

-*-<font>-<weight>-<s>-*-*-<size>-*-*-*-*-*-<encoding>


So set term x11 font "arial,15,italic" will be translated to -*-arial-*-i-*-*-15-*-*-*-*-*-iso8859-1 (assuming default encoding). The <size>, <slant>, and <weight> specifications are all optional. If you do not specify <slant> or <weight> then you will get whatever font variant the font server offers first. You may set a default enconding via the corresponding X11 resource. E.g.

gnuplot*encoding: iso8859-15


The driver also recognizes some common PostScript font names and replaces them with possible X11 or TrueType equivalents. This same sequence is used to process font requests from set label.

If your gnuplot was built with configuration option --enable-x11-mbfonts, you can specify multi-byte fonts by using the prefix "mbfont:" on the font name. An additional font may be given, separated by a semicolon. Since multi-byte font encodings are interpreted according to the locale setting, you must make sure that the environmental variable LC_CTYPE is set to some appropriate locale value such as ja_JP.eucJP, ko_KR.EUC, or zh_CN.EUC.

Example:

set term x11 font 'mbfont:kana14;k14'
# 'kana14' and 'k14' are Japanese X11 font aliases, and ';'
# is the separator of font names.
set term x11 font 'mbfont:fixed,16,r,medium'
# <font>,<size>,<slant>,<weight> form is also usable.
set title '(mb strings)' font 'mbfont:*-fixed-medium-r-normal--14-*'


The same syntax applies to the default font in Xresources settings, for example,

gnuplot*font: \
mbfont:-misc-fixed-medium-r-normal--14-*-*-*-c-*-jisx0208.1983-0


If gnuplot is built with --enable-x11-mbfonts, you can use two special PostScript font names 'Ryumin-Light-*' and 'GothicBBB-Medium-*' (standard Japanese PS fonts) without the prefix "mbfont:".

#### Command-line_options

In addition to the X Toolkit options, the following options may be specified on the command line when starting gnuplot or as resources in your ".Xdefaults" file (note that raise and persist can be overridden later by set term x11 [no]raise [no]persist):

The options are shown above in their command-line syntax. When entered as resources in ".Xdefaults", they require a different syntax.

Example:

gnuplot*gray:  on
gnuplot*ctrlq: on


gnuplot also 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.

The -noevents switch disables all mouse and key event processing (except for q and <space> for closing the window). This is useful for programs which use the x11 driver independent of the gnuplot main program.

The -ctrlq switch changes the hot-key that closes a plot window from q to <ctrl>q. This is useful is you are using the keystroke-capture feature pause mouse keystroke, since it allows the character q to be captured just as all other alphanumeric characters. The -ctrlq switch similarly replaces the <space> hot-key with <ctrl><space> for the same reason.

#### Monochrome_options

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.

#### Color_resources

NB: THIS SECTION IS LARGELY IRRELEVANT IN GNUPLOT VERSION 5 The X11 terminal honors the following resources (shown here with their default values) or the greyscale resources. The values may be color names as listed 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, 0.5 means a half intensity blue.

The command-line syntax for these is simple only for background, which maps directly to the usual X11 toolkit option "-bg". All others can only be set on the command line by use of the generic "-xrm" resource override option

Examples:

gnuplot -background coral


to change the background color.

gnuplot -xrm 'gnuplot*line1Color:blue'
`

to override the first linetype color.

#### Grayscale_resources

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

#### Line_resources

NB: THIS SECTION IS LARGELY IRRELEVANT IN GNUPLOT VERSION 5 gnuplot honors the following resources for setting the width (in pixels) of plot lines (shown here with their 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 honors the following resources for setting the dash style used for plotting lines. 0 means a solid line. A two-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 one pixel on followed by six pixels off. More elaborate on/off patterns can be specified with a four-digit value. For example, '4441' is four on, four off, four on, one off. The default values shown below are for monochrome displays or monochrome rendering on color or grayscale displays. Color displays default to dashed:off

#### X11 pm3d_resources

NB: THIS SECTION IS LARGELY IRRELEVANT IN GNUPLOT VERSION 5 Choosing the appropriate visual class and number of colors is a crucial point in X11 applications and a bit awkward, since X11 supports six visual types in different depths.

By default gnuplot uses the default visual of the screen. The number of colors which can be allocated depends on the visual class chosen. On a visual class with a depth > 12bit, gnuplot starts with a maximal number of 0x200 colors. On a visual class with a depth > 8bit (but <= 12 bit) the maximal number of colors is 0x100, on <= 8bit displays the maximum number of colors is 240 (16 are left for line colors).

Gnuplot first starts to allocate the maximal number of colors as stated above. If this fails, the number of colors is reduced by the factor 2 until gnuplot gets all colors which are requested. If dividing maxcolors by 2 repeatedly results in a number which is smaller than mincolors gnuplot tries to install a private colormap. In this case the window manager is responsible for swapping colormaps when the pointer is moved in and out the x11 driver's window.

The default for mincolors is maxcolors / (num_colormaps > 1 ? 2 : 8), where num_colormaps is the number of colormaps which are currently used by gnuplot (usually 1, if only one x11 window is open).

Some systems support multiple (different) visual classes together on one screen. On these systems it might be necessary to force gnuplot to use a specific visual class, e.g. the default visual might be 8bit PseudoColor but the screen would also support 24bit TrueColor which would be the preferred choice.

The information about an Xserver's capabilities can be obtained with the program xdpyinfo. For the visual names below you can choose one of StaticGray, GrayScale, StaticColor, PseudoColor, TrueColor, DirectColor. If an Xserver supports a requested visual type at different depths, gnuplot chooses the visual class with the highest depth (deepest). If the requested visual class matches the default visual and multiple classes of this type are supported, the default visual is preferred.

Example: on an 8bit PseudoColor visual you can force a private color map by specifying gnuplot*maxcolors: 240 and gnuplot*mincolors: 240.

#### X11 other_resources

By default the contents of the current plot window are exported to the X11 clipboard in response to X events in the window. Setting the resource 'gnuplot*exportselection' to 'off' or 'false' will disable this.

By default text rotation is done using a method that is fast, but can corrupt nearby colors depending on the background. If this is a problem, you can set the resource 'gnuplot.fastrotate' to 'off'

### Xlib

The xlib terminal driver supports the X11 Windows System. It generates gnuplot_x11 commands, but sends them to the output file specified by set output '<filename>'. set term x11 is equivalent to set output "|gnuplot_x11 -noevents"; set term xlib. xlib takes the same set of options as x11.