Next: graph Invocation, Previous: Multiplotting, Up: graph
By default, graph
reads datasets in ASCII format. But it can
also read datasets in any of three binary formats (single precision
floating point, double precision floating point, and integer).
These three input formats are specified by the ‘-I d’, ‘-I f’,
and ‘-I i’ options, respectively.
There are two advantages to using binary data: 1) graph
runs
significantly faster because the computational overhead for converting
data from ASCII to binary is eliminated, and 2) the input files may
be significantly smaller. If you have very large datasets, using
binary format may reduce storage and runtime costs.
For example, you may create a single precision binary dataset as output from a C language program:
#include <stdio.h> void write_point (float x, float y) { fwrite(&x, sizeof (float), 1, stdout); fwrite(&y, sizeof (float), 1, stdout); }
You may plot data written this way by doing:
graph -T ps -I f < binary_datafile > plot.ps
The inclusion of multiple datasets within a single binary file is
supported. If a binary file contains more than a single dataset,
successive datasets should be separated by a single occurrence of the
the largest possible number. For single precision datasets this is the
quantity FLT_MAX
, for double precision datasets it is the
quantity DBL_MAX
, and for integer datasets it is the quantity
INT_MAX
. On most machines FLT_MAX
is approximately
3.4x10^38, DBL_MAX
is approximately 1.8x10^308, and
INT_MAX
is 2^32-1.
If you are reading datasets from more than one file, it is not required that the files be in the same format. For example,
graph -T ps -I f binary_datafile -I a ascii_datafile > plot.ps
will read binary_datafile
in ‘f’ (binary single precision)
format, and datafile
in ‘a’ (normal ASCII) format.
There is currently no support for reading and plotting binary data with
error bars. If you have data with error bars, you should supply the data
to graph
in ASCII, and use the ‘-I e’ option.
graph
can also read data files in the ASCII `table' format
produced by the gnuplot
plotting program. For this, you should
use the ‘-I g’ option. Such a data file may consist of more than
one dataset.
To sum up: there are six supported data formats, ‘a’ (normal
ASCII), ‘e’ (ASCII with error bars), ‘g’ (the ASCII `table'
format produced by gnuplot
), ‘f’ (binary single precision),
‘d’ (binary double precision), and ‘i’ (binary integer).
Input files may be in any of these six formats.