A special filename of `'-'` specifies that the data are inline; i.e., they
follow the command. Only the data follow the command; `plot` (Note: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. The `using` (Note:using ) option can be applied to these
data---using it to filter them through a function might make sense, but
selecting columns probably doesn't!
`'-'` is intended for situations where it is useful to have data and commands
together, e.g., when `gnuplot` (Note:gnuplot ) is run as a sub-process of
some front-end application. Some of the demos, for example, might use this
feature. While `plot` options such as `index` (Note:index ) and `every`
(Note:every ) are recognized, their use forces you to enter data that won't
be used. For example, while
plot '-' index 0, '-' index 1
2
4
6
10
12
14
e
2
4
6
10
12
14
e
does indeed work,
plot '-', '-'
2
4
6
e
10
12
14
e
is a lot easier to type.
If you use `'-'` with `replot` (Note:replot ), you may need to enter the
data more than once (see `replot`).
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 some computer systems with a popen function (Unix), 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` or `thru` (Note:thru ) keywords.