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 3/28/24)

     GRAPH(1)                                                 GRAPH(1)

          -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 3/28/24)