
- •Copyright
- •Introduction
- •Seeking-assistance
- •New features
- •New syntax
- •Local customization of linetypes
- •New plot styles
- •Revised polar axes
- •New smoothing algorithms
- •New time/date handling
- •Statistical summary of data
- •New or revised terminal drivers
- •Backwards compatibility
- •Batch/Interactive Operation
- •Canvas size
- •Command-line-editing
- •Comments
- •Coordinates
- •Datastrings
- •Enhanced text mode
- •Environment
- •Expressions
- •Functions
- •Elliptic integrals
- •Random number generator
- •Value
- •Operators
- •Unary
- •Binary
- •Ternary
- •Summation
- •Fonts
- •Cairo (pdfcairo, pngcairo, epscairo, wxt terminals)
- •Gd (png, gif, jpeg terminals)
- •Postscript (also encapsulated postscript *.eps)
- •Glossary
- •Linetypes, colors, and styles
- •Colorspec
- •Linecolor variable
- •Rgbcolor variable
- •Linestyles vs linetypes
- •Mouse input
- •Bind
- •Bind space
- •Mouse variables
- •Plotting
- •Start-up (initialization)
- •String constants and string variables
- •Substitution and Command line macros
- •Substitution of system commands in backquotes
- •Substitution of string variables as macros
- •String variables, macros, and command line substitution
- •Syntax
- •Quote Marks
- •Time/Date data
- •Boxerrorbars
- •Boxes
- •Boxplot
- •Boxxyerrorbars
- •Candlesticks
- •Circles
- •Ellipses
- •Dots
- •Filledcurves
- •Financebars
- •Fsteps
- •Fillsteps
- •Histeps
- •Histograms
- •Newhistogram
- •Automated iteration over multiple columns
- •Image
- •Transparency
- •Image failsafe
- •Impulses
- •Labels
- •Lines
- •Linespoints
- •Points
- •Polar
- •Steps
- •Rgbalpha
- •Rgbimage
- •Vectors
- •Xerrorbars
- •Xyerrorbars
- •Yerrorbars
- •Xerrorlines
- •Xyerrorlines
- •Yerrorlines
- •3D (surface) plots
- •2D projection (set view map)
- •Call
- •Clear
- •Evaluate
- •Exit
- •Adjustable parameters
- •Short introduction
- •Error estimates
- •Statistical overview
- •Practical guidelines
- •Control
- •Control variables
- •Environment variables
- •Multi-branch
- •Starting values
- •Tips
- •Help
- •History
- •Iteration
- •Load
- •Lower
- •Pause
- •Plot
- •Axes
- •Binary
- •General
- •Array
- •Record
- •Skip
- •Format
- •Endian
- •Filetype
- •Keywords
- •Data
- •Every
- •Index
- •Smooth
- •Thru
- •Using
- •Volatile
- •Errorbars
- •Errorlines
- •Functions
- •Parametric
- •Ranges
- •Iteration
- •Title
- •With
- •Quit
- •Raise
- •Refresh
- •Replot
- •Reread
- •Reset
- •Save
- •Set-show
- •Angles
- •Arrow
- •Autoscale
- •Parametric mode
- •Polar mode
- •Bars
- •Bind
- •Bmargin
- •Border
- •Boxwidth
- •Clabel
- •Clip
- •Cntrparam
- •Color box
- •Colornames
- •Contour
- •Data style
- •Decimalsign
- •Dgrid3d
- •Dummy
- •Encoding
- •Fontpath
- •Format
- •Gprintf
- •Function style
- •Functions
- •Grid
- •Hidden3d
- •Historysize
- •Isosamples
- •Key placement
- •Key samples
- •Label
- •Linetype
- •Lmargin
- •Loadpath
- •Locale
- •Logscale
- •Macros
- •Mapping
- •Margin
- •Mouse
- •Doubleclick
- •Mouseformat
- •Scrolling
- •X11 mouse
- •Zoom
- •Multiplot
- •Mx2tics
- •Mxtics
- •My2tics
- •Mytics
- •Mztics
- •Object
- •Rectangle
- •Ellipse
- •Circle
- •Polygon
- •Origin
- •Output
- •Parametric
- •Plot
- •Algorithm
- •Position
- •Scanorder
- •Clipping
- •Hidden3d
- •Interpolate
- •Palette
- •Rgbformulae
- •Functions
- •Cubehelix
- •File
- •Gamma correction
- •Postscript
- •Pointintervalbox
- •Pointsize
- •Polar
- •Psdir
- •Raxis
- •Rmargin
- •Rrange
- •Rtics
- •Samples
- •Size
- •Style
- •Set style arrow
- •Boxplot
- •Set style data
- •Set style function
- •Set style increment
- •Set style line
- •Set style circle
- •Set style rectangle
- •Set style ellipse
- •Surface
- •Table
- •Terminal
- •Termoption
- •Tics
- •Ticslevel
- •Ticscale
- •Timestamp
- •Timefmt
- •Title
- •Tmargin
- •Trange
- •Urange
- •Variables
- •Version
- •View
- •Vrange
- •X2data
- •X2dtics
- •X2label
- •X2mtics
- •X2range
- •X2tics
- •X2zeroaxis
- •Xdata
- •Xdtics
- •Xlabel
- •Xmtics
- •Xrange
- •Xtics
- •Xtics rangelimited
- •Xyplane
- •Xzeroaxis
- •Y2data
- •Y2dtics
- •Y2label
- •Y2mtics
- •Y2range
- •Y2tics
- •Y2zeroaxis
- •Ydata
- •Ydtics
- •Ylabel
- •Ymtics
- •Yrange
- •Ytics
- •Yzeroaxis
- •Zdata
- •Zdtics
- •Zzeroaxis
- •Cbdata
- •Cbdtics
- •Zero
- •Zeroaxis
- •Zlabel
- •Zmtics
- •Zrange
- •Ztics
- •Cblabel
- •Cbmtics
- •Cbrange
- •Cbtics
- •Shell
- •Splot
- •Matrix
- •Grid data
- •Splot surfaces
- •Stats (Statistical Summary)
- •System
- •Test
- •Unset
- •Update
- •While
- •Complete list of terminals
- •Aifm
- •Aqua
- •Cairolatex
- •Canvas
- •Cgm font
- •Cgm fontsize
- •Cgm linewidth
- •Cgm rotate
- •Cgm solid
- •Cgm size
- •Cgm width
- •Cgm nofontlist
- •Context
- •Requirements
- •Calling gnuplot from ConTeXt
- •Corel
- •Debug
- •Dumb
- •Eepic
- •Emxvga
- •Epscairo
- •Epslatex
- •Excl
- •Examples
- •Gpic
- •Grass
- •Hpgl
- •Hpljii
- •Hppj
- •Imagen
- •Jpeg
- •Latex
- •Linux
- •Lua tikz
- •Macintosh
- •METAFONT Instructions
- •Metapost Instructions
- •Next
- •Openstep (next)
- •Pdfcairo
- •Examples
- •Pngcairo
- •Postscript
- •Editing postscript
- •Postscript prologue
- •Postscript adobeglyphnames
- •Pslatex and pstex
- •Pstricks
- •Regis
- •Svga
- •Texdraw
- •Tgif
- •Tikz
- •Tkcanvas
- •Tpic
- •Vgagl
- •Windows
- •Graph-menu
- •Printing
- •Text-menu
- •Wgnuplot.mnu
- •Wgnuplot.ini
- •Xlib
- •Known limitations
- •External libraries
gnuplot 4.6 |
95 |
Save
The save command saves user-de ned functions, variables, the set term status, all set options, or all of these, plus the last plot (splot) command to the speci ed le.
Syntax:
save {<option>} '<filename>'
where <option> is functions, variables, terminal or set. If no option is used, gnuplot saves functions, variables, set options and the last plot (splot) command.
saved les are written in text format and may be read by the load command. For save with the set option or without any option, the terminal choice and the output lename are written out as a comment, to get an output le that works in other installations of gnuplot, without changes and without risk of unwillingly overwriting les.
save terminal will write out just the terminal status, without the comment marker in front of it. This is mainly useful for switching the terminal setting for a short while, and getting back to the previously set terminal, afterwards, by loading the saved terminal status. Note that for a single gnuplot session you may rather use the other method of saving and restoring current terminal by the commands set term push and set term pop, see set term (p. 152).
The lename must be enclosed in quotes.
The special lename "-" may be used to save commands to standard output. On systems which support a popen function (Unix), the output of save can be piped through an external program by starting thele name with a 'j'. This provides a consistent interface to gnuplot's internal settings to programs which communicate with gnuplot through a pipe. Please see help for batch/interactive (p. 20) for more details.
Examples:
save 'work.gnu'
save functions 'func.dat' save var 'var.dat'
save set 'options.dat' save term 'myterm.gnu' save '-'
save '|grep title >t.gp'
Set-show
The set command can be used to set lots of options. No screen is drawn, however, until a plot, splot, or replot command is given.
The show command shows their settings; show all shows all the settings.
Options changed using set can be returned to the default state by giving the corresponding unset command. See also the reset (p. 94) command, which returns all settable parameters to default values.
If a variable contains time/date data, show will display it according to the format currently de ned by set timefmt, even if that was not in e ect when the variable was initially de ned. The set and unset commands may optionally contain an iteration clause. See iteration (p. 70).
Angles
By default, gnuplot assumes the independent variable in polar graphs is in units of radians. If set angles degrees is speci ed before set polar, then the default range is [0:360] and the independent variable has units of degrees. This is particularly useful for plots of data les. The angle setting also applies to 3D mapping as set via the set mapping command.
Syntax:
set angles {degrees | radians} show angles
96 |
gnuplot 4.6 |
The angle speci ed in set grid polar is also read and displayed in the units speci ed by set angles.
set angles also a ects the arguments of the machine-de ned functions sin(x), cos(x) and tan(x), and the outputs of asin(x), acos(x), atan(x), atan2(x), and arg(x). It has no e ect on the arguments of hyperbolic functions or Bessel functions. However, the output arguments of inverse hyperbolic functions of complex arguments are a ected; if these functions are used, set angles radians must be in e ect to maintain consistency between input and output arguments.
x={1.0,0.1}
set angles radians y=sinh(x)
print y #prints {1.16933, 0.154051} print asinh(y) #prints {1.0, 0.1}
but
set angles degrees y=sinh(x)
print y #prints {1.16933, 0.154051} print asinh(y) #prints {57.29578, 5.729578}
See also
poldat.dem: polar plot using set angles demo.
Arrow
Arbitrary arrows can be placed on a plot using the set arrow command.
Syntax:
set arrow {<tag>} {from <position>} {to|rto <position>}
{{arrowstyle | as <arrow_style>}
| { {nohead | head | backhead | heads} {size <length>,<angle>{,<backangle>}} {filled | empty | nofilled}
{front | back}
{{linestyle | ls <line_style>} | {linetype | lt <line_type>}
{linewidth | lw <line_width} } } }
unset arrow {<tag>} show arrow {<tag>}
<tag> is an integer that identi es the arrow. If no tag is given, the lowest unused tag value is assigned automatically. The tag can be used to delete or change a speci c arrow. To change any attribute of an existing arrow, use the set arrow command with the appropriate tag and specify the parts of the arrow to be changed.
The <position>s are speci ed by either x,y or x,y,z, and may be preceded by rst, second, graph, screen, or character to select the coordinate system. Unspeci ed coordinates default to 0. The end points can be speci ed in one of ve coordinate systems | rst or second axes, graph, screen, or character. See coordinates (p. 22) for details. A coordinate system speci er does not carry over from the "from" position to the "to" position. Arrows outside the screen boundaries are permitted but may cause device errors. If the end point is speci ed by "rto" instead of "to" it is drawn relatively to the start point. For linear axes, graph and screen coordinates, the distance between the start and the end point corresponds to the given relative coordinate. For logarithmic axes, the relative given coordinate corresponds to the factor of the coordinate between start and end point. Thus, a negative relative value or zero are not allowed for logarithmic axes.
Specifying nohead produces an arrow drawn without a head | a line segment. This gives you yet another way to draw a line segment on the plot. By default, an arrow has a head at its end. Specifying backhead draws an arrow head at the start point of the arrow while heads draws arrow heads on both ends of the line. Not all terminal types support double-ended arrows.

gnuplot 4.6 |
97 |
Head size can be controlled by size <length>,<angle> or size <length>,<angle>,<backangle>, where
<length> de nes length of each branch of the arrow head and <angle> the angle (in degrees) they make with the arrow. <Length> is in x-axis units; this can be changed by rst, second, graph, screen, or character before the <length>; see coordinates (p. 22) for details. <Backangle> only takes e ect whenlled or empty is also used. Then, <backangle> is the angle (in degrees) the back branches make with the arrow (in the same direction as <angle>). The g terminal has a restricted backangle function. It supports three di erent angles. There are two thresholds: Below 70 degrees, the arrow head gets an indented back angle. Above 110 degrees, the arrow head has an acute back angle. Between these thresholds, the back line is straight.
Specifying lled produces lled arrow heads (if heads are used). Filling is supported on lled-polygon capable terminals, see help of pm3d (p. 134) for their list, otherwise the arrow heads are closed but notlled. The same result (closed but not lled arrow head) is reached by specifying empty. Further, lling and outline is obviously not supported on terminals drawing arrows by their own speci c routines, like metafont, metapost, latex or tgif.
The line style may be selected from a user-de ned list of line styles (see set style line (p. 149)) or may be de ned here by providing values for <line type> (an index from the default list of styles) and/or <line width> (which is a multiplier for the default width).
Note, however, that if a user-de ned line style has been selected, its properties (type and width) cannot be altered merely by issuing another set arrow command with the appropriate index and lt or lw.
If front is given, the arrow is written on top of the graphed data. If back is given (the default), the arrow is written underneath the graphed data. Using front will prevent an arrow from being obscured by dense data.
Examples:
To set an arrow pointing from the origin to (1,2) with user-de ned style 5, use: set arrow to 1,2 ls 5
To set an arrow from bottom left of plotting area to (-5,5,3), and tag the arrow number 3, use: set arrow 3 from graph 0,0 to -5,5,3
To change the preceding arrow to end at 1,1,1, without an arrow head and double its width, use: set arrow 3 to 1,1,1 nohead lw 2
To draw a vertical line from the bottom to the top of the graph at x=3, use: set arrow from 3, graph 0 to 3, graph 1 nohead
To draw a vertical arrow with T-shape ends, use:
set arrow 3 from 0,-5 to 0,5 heads size screen 0.1,90
To draw an arrow relatively to the start point, where the relative distances are given in graph coordinates, use:
set arrow from 0,-5 rto graph 0.1,0.1
To draw an arrow with relative end point in logarithmic x axis, use: set logscale x
set arrow from 100,-5 rto 10,10
This draws an arrow from 100,-5 to 1000,5. For the logarithmic x axis, the relative coordinate 10 means "factor 10" while for the linear y axis, the relative coordinate 10 means "di erence 10".
To delete arrow number 2, use: unset arrow 2
To delete all arrows, use: unset arrow
To show all arrows (in tag order), use: show arrow
arrows demos.