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.

-p  Next argument is one or more of the characters bcgkmrwy, choosing pen colors by their initial letter, as in plot((7)). Successive curves will cycle through the colors in the given order.

-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
/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.