%N pgaxis %F $MIR/src/pgaxis.f
%D Draw an axis
%B
      SUBROUTINE PGAXIS (OPT, X1, Y1, X2, Y2, V1, V2, STEP, NSUB,
     :                   DMAJL, DMAJR, FMIN, DISP, ORIENT)
      CHARACTER*(*) OPT
      REAL X1, Y1, X2, Y2, V1, V2, STEP, DMAJL, DMAJR, FMIN, DISP
      REAL ORIENT
      INTEGER NSUB

 Draw a labelled graph axis from world-coordinate position (X1,Y1) to
 (X2,Y2).

 Normally, this routine draws a standard LINEAR axis with equal
 subdivisions.   The quantity described by the axis runs from V1 to V2;
 this may be, but need not be, the same as X or Y. 

 If the 'L' option is specified, the routine draws a LOGARITHMIC axis.
 In this case, the quantity described by the axis runs from 10**V1 to
 10**V2. A logarithmic axis always has major, labeled, tick marks 
 spaced by one or more decades. If the major tick marks are spaced
 by one decade (as specified by the STEP argument), then minor
 tick marks are placed at 2, 3, .., 9 times each power of 10;
 otherwise minor tick marks are spaced by one decade. If the axis
 spans less than two decades, numeric labels are placed at 1, 2, and
 5 times each power of ten.

 If the axis spans less than one decade, or if it spans many decades,
 it is preferable to use a linear axis labeled with the logarithm of
 the quantity of interest.

 Arguments:
  OPT    (input)  : a string containing single-letter codes for
                    various options. The options currently
                    recognized are:
                    L : draw a logarithmic axis
                    N : write numeric labels
                    1 : force decimal labelling, instead of automatic
                        choice (see PGNUMB).
                    2 : force exponential labelling, instead of
                        automatic.
  X1, Y1 (input)  : world coordinates of one endpoint of the axis.
  X2, Y2 (input)  : world coordinates of the other endpoint of the axis.
  V1     (input)  : axis value at first endpoint.
  V2     (input)  : axis value at second endpoint.
  STEP   (input)  : major tick marks are drawn at axis value 0.0 plus
                    or minus integer multiples of STEP. If STEP=0.0,
                    a value is chosen automatically.
  NSUB   (input)  : minor tick marks are drawn to divide the major
                    divisions into NSUB equal subdivisions (ignored if
                    STEP=0.0). If NSUB <= 1, no minor tick marks are
                    drawn. NSUB is ignored for a logarithmic axis.
  DMAJL  (input)  : length of major tick marks drawn to left of axis
                    (as seen looking from first endpoint to second), in
                    units of the character height.
  DMAJR  (input)  : length of major tick marks drawn to right of axis,
                    in units of the character height.
  FMIN   (input)  : length of minor tick marks, as fraction of major.
  DISP   (input)  : displacement of baseline of tick labels to
                    right of axis, in units of the character height.
  ORIENT (input)  : orientation of label text, in degrees; angle between
                    baseline of text and direction of axis (0-360°).
