The empty filename '' tells gnuplot to re-use the previous input file in the same plot command. So to plot two columns from the same input file:
plot 'filename' using 1:2, '' using 1:3
The filename can also be reused over subsequent plot commands, however save then only records the name in a comment.
The special filenames '+' and '++' are a mechanism to allow the full range of using specifiers and plot styles with inline functions. Normally a function plot can only have a single y (or z) value associated with each sampled point. The pseudo-file '+' treats the sampled points as column 1, and allows additional column values to be specified via a using specification, just as for a true input file. By default samples are generated over the full range as set by set xrange, with the sampling controlled via set samples.
plot '+' using ($1):(sin($1)):(sin($1)**2) with filledcurves
An independent sampling range can be provided immediately before the '+'. As
in normal function plots, a name can be assigned to the independent variable.
If given for the first plot element, the sampling range specifier has to be
preceeded by the sample keyword (see also plot sampling (p. )).
plot sample [beta=0:2*pi] '+' using (sin(beta)):(cos(beta)) with lines
Additionally, the range specifier of '+' supports giving a sampling increment.
plot $MYDATA, [t=-3:25:1] '+' using (t):(f(t))
The pseudo-file '++' returns 2 columns of data forming a regular grid of [u,v] coordinates with the number of points along u controlled by set samples and the number of points along v controlled by set isosamples. You must set urange and vrange before plotting '++'. However the x and y ranges can be autoscaled or can be explicitly set to different values than urange and vrange. Use of u and v to sample '++' is a CHANGE from version 5.0 Examples:
splot '++' using 1:2:(sin($1)*sin($2)) with pm3d plot '++' using 1:2:(sin($1)*sin($2)) with image
The special filename '-' specifies that the data are inline; i.e., they follow the command. Only the data follow the command; plot options like filters, titles, and line styles remain on the plot command line. This is similar to in unix shell script, and $DECK in VMS DCL. The data are entered as though they are being read from a file, one data point per record. The letter "e" at the start of the first column terminates data entry.
'-' is intended for situations where it is useful to have data and commands
together, e.g. when both are piped to gnuplot from another application.
Some of the demos, for example, might use this feature. While
plot options such as index and every are recognized, their use forces
you to enter data that won't be used. For all but the simplest cases it is
probably easier to first define a datablock and then read from it rather than
from '-'. See datablocks (p. ).
If you use '-' with replot, you may need to enter the data more than once.
See replot (p. ), refresh (p.
). Here again it may be better to use a datablock.
A blank filename ('') specifies that the previous filename should be reused. This can be useful with things like
plot 'a/very/long/filename' using 1:2, '' using 1:3, '' using 1:4
(If you use both '-' and '' on the same plot command, you'll need to have two sets of inline data, as in the example above.)
On systems with a popen function, the datafile can be piped through a shell command by starting the file name with a ''. For example,
pop(x) = 103*exp(-x/10) plot "< awk '{print $1-1965, $2}' population.dat", pop(x)
would plot the same information as the first population example but with years since 1965 as the x axis. If you want to execute this example, you have to delete all comments from the data file above or substitute the following command for the first part of the command above (the part up to the comma):
plot "< awk '$0 !~ /^#/ {print $1-1965, $2}' population.dat"
While this approach is most flexible, it is possible to achieve simple filtering with the using keyword.
On systems with an fdopen() function, data can be read from an arbitrary file descriptor attached to either a file or pipe. To read from file descriptor n use '&n'. This allows you to easily pipe in several data files in a single call from a POSIX shell:
$ gnuplot -p -e "plot '<&3', '<&4'" 3<data-3 4<data-4 $ ./gnuplot 5< <(myprogram -with -options) gnuplot> plot '<&5'Build Daemon user 2017-11-03