.XE .TH GRAPH 1 .SH NAME graph \- draw a graph .SH SYNOPSIS .B graph [ option ] ... .PP .B spline [ option ] ... .SH DESCRIPTION .I graph with no options takes pairs of numbers from the standard input as abscissas .RI ( x -values) and ordinates .RI ( y -values) of a graph. Successive points are connected by straight lines. The graph is encoded on the standard output for display by the .IR plot (1) filters. .PP If the ordinate of a point 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. .PP The following options are recognized, each as a separate argument. .TP .B \-a Supply abscissas automatically; no .IR 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 .I x, or the lower limit given by .BR \-x ). .TP .B \-b Break (disconnect) the graph after each label in the input. .TP .B \-c Character string given by next argument is default label for each point. .TP .B \-g Next argument is grid style, 0 no grid, 1 frame with ticks, 2 full grid (default). .TP .B \-l Next argument is a legend to title the graph. Grid ranges are automatically printed as part of the title unless a .B \-s option is present. .TP .B \-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 amd rotates styles for successive curves under option .BR \-o . .TP .B \-o (Overlay.) The ordinates for .I n superposed curves appear in the input with each abscissa value. The next argument is .IR n . .TP .B \-s Save screen; no new page for this graph. .TP \fB\-x\fR [ \fBl\fR ] If .B l is present, x axis is logarithmic. Next 1 (or 2) arguments are lower (and upper) .IR x "" limits. Third argument, if present, is grid spacing on .I x axis. Normally these quantities are determined automatically. .TP \fB\-y\fR [ \fBl\fR ] Similarly for .IR y . .TP .B \-e Make automatically determined .I x and .I y scales equal. .TP .B \-h Next argument is fraction of space for height. .TP .B \-w Similarly for width. .TP .B \-r Next argument is fraction of space to move right before plotting. .TP .B \-u Similarly to move up before plotting. .TP .B \-t Transpose horizontal and vertical axes. (Option .B \-a now applies to the vertical axis.) .PP If a specified lower limit exceeds the upper limit, the axis is reversed. .PP .I spline is a filter that interpolates extra data in input suitable for .I graph to make smoother-looking curves. .PP The following options are recognized, each as a separate argument. .TP .B \-a as in .I graph .TP .B \-x as in .I graph .TP .B \-k The constant .IR k "" used in the boundary value computation .IP .if n .ig .EQ y sub 0 sup {prime prime}~=~ky sub 1 sup {prime prime} , ~~~ y sub n sup {prime prime}~=~ky sub n-1 sup {prime prime} , ~~~ .EN .. .if t .ig .ce (2nd deriv. at end) = k*(2nd deriv. next to end) .. .IP is set by the next argument. (Default .IR k "" = 0.) .TP .B \-n Space output points so that approximately .I n intervals occur between the lower and upper .I x limits. (Default .I n = 100.) .TP .B \-p Make output periodic, i.e. match derivatives at ends. First and last input values should normally agree. .SH DIAGNOSTICS When data is not strictly monotone in .I x, .I spline simply reproduces its input. .SH "SEE ALSO" plot(1), grap(1) .SH BUGS In .I graph segments that run out of bounds are dropped, not windowed. .br Logarithmic axes may not be reversed. .br Option .B \-e actually makes automatic limits, rather than automatic scaling, equal. .br .I spline quietly discards points after the first 1000. .br .I spline's piecewise cubic fit (R. W. Hamming, .ft I Numerical Methods for Scientists and Engineers, .ft R 2nd ed., p. 349) overshoots at sudden jumps.