GRAPH(1)                                                 GRAPH(1)

     NAME
          graph - draw a graph

     SYNOPSIS
          graph [ option ... ]

     DESCRIPTION
          Graph with no options takes pairs of numbers from the stan-
          dard 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 dis-
          play 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 start-
               ing 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 distin-
               guishable 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.

     Page 1                       Plan 9            (printed 12/28/24)

     GRAPH(1)                                                 GRAPH(1)

          -p   Next argument is one or more of the characters
               bcgkmrwy, choosing pen colors by their initial letter,
               as in plot(6). 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 argu-
               ment, 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.

     Page 2                       Plan 9            (printed 12/28/24)