GRAPH(1)

NAME
graph - draw a graph

SYNOPSIS
graph [ option ... ]

DESCRIPTION
Graph with no options takes pairs of numbers from the standard input as abscissas (x-values) and ordinates (y-values) of a graph. Successive points are connected by straight lines. The graph is encoded on the standard output for display by plot(1) filters.

If an ordinate is followed by a nonnumeric string, that string is printed as a label beginning on the point. Labels may be surrounded with quotes " " in which case they may be empty or contain blanks and numbers; labels never contain newlines.

The following options are recognized, each as a separate argument.

-a  Supply abscissas automatically; no x-values appear in the input. Spacing is given by the next argument (default 1). A second optional argument is the starting point for automatic abscissas (default 0, or 1 with a log scale in x, or the lower limit given by -x).

-b  Break (disconnect) the graph after each label in the input.

-c  Character string given by next argument is default label for each point.

-g  Next argument is grid style, 0 no grid, 1 frame with ticks, 2 full grid (default).

-l  Next argument is a legend to title the graph. Grid ranges are automatically printed as part of the title unless a -s option is present.

-m  Next argument is mode (style) of connecting lines: 0 disconnected, 1 connected. Some devices give distinguishable line styles for other small integers. Mode -1 (default) begins with style 1 and rotates styles for successive curves under option -o.

-o  (Overlay.) The ordinates for n superposed curves appear in the input with each abscissa value. The next argument is n.

-s  Save screen; no new page for this graph.

-x l
    If l is present, x-axis is logarithmic. Next 1 (or 2) arguments are lower (and upper) x limits. Third argument, if present, is grid spacing on x axis. Normally these quantities are determined automatically.

-y l
    Similarly for y.

-e  Make automatically determined x and y scales equal.

-h  Next argument is fraction of space for height.

-w  Similarly for width.

-r  Next argument is fraction of space to move right before plotting.

-u  Similarly to move up before plotting.

-t  Transpose horizontal and vertical axes. (Option -a now applies to the vertical axis.)

If a specified lower limit exceeds the upper limit, the axis is reversed.

SOURCE
/sys/src/cmd/graph

SEE ALSO
plot(1), grap(1)

BUGS
Segments that run out of bounds are dropped, not windowed. Logarithmic axes may not be reversed. Option -e actually makes automatic limits, rather than automatic scaling, equal.