Name: GRAF3  6,22
The routine  GRAF3 plots a  3-D axis system  where the Z-axis is
plotted as a colour bar.
The call is:  CALL GRAF3 (XA, XE, XOR, XSTEP, YA, YE, YOR,
                          YSTEP, ZA, ZE, ZOR, ZSTEP)     level 1
         or:  void graf3 (float xa, float xe, float xor, 
                     float xstep, float ya, float ye, float yor,
                     float ystep, float za, float ze, float zor,
                                                   float zstep); 
XA, XE        are the lower and upper limits of the X-axis.
XOR, XSTEP    are the  first X-axis label  and the step  between
              labels.
YA, YE        are the lower and upper limits of the Y-axis.
YOR, YSTEP    are the  first Y-axis label  and the step  between
              labels.
ZA, ZE        are the lower and upper limits of the Z-axis.
ZOR, ZSTEP    are the  first Z-axis label  and the step  between
              labels.
Note:         GRAF3  must be called  from level 1  and  sets the
              level to 3. For furthers Notes, the user is refer-
              red to the routine GRAF.
Name: ZAXIS  7,22
The routine ZAXIS plots a linearly scaled colour bar.  
The call is:  CALL ZAXIS (A, B, OR, STEP, NL, CSTR, IT, NDIR,
                          NX, NY)                  level 1, 2, 3
         or:  void zaxis (float a, float b, float or,
                          float step, int nl, const char *cstr, 
                          int it, int ndir, int nx, int ny);   
A, B          are the lower and upper limits of the colour bar.
OR, STEP      are the first label and the step between labels.
NL            is the length  of the colour bar in plot coordina-
              tes.
CSTR          is a character string containing the axis name.
IT            indicates how ticks,  labels and the axis name are
              plotted.  If IT = 0,  they are plotted in a clock-
              wise  direction.  If IT = 1, they are plotted in a
              counter-clockwise direction.
NDIR          defines the direction of the colour bar. If NDIR =
              0, a vertical colour bar will be plotted;  if NDIR
              = 1, a horizontal colour bar will be plotted.
NX, NY        are the plot coordinates of the lower left corner.
Name: ZAXLG  7,22
The routine ZAXLG plots a logarithmically scaled colour bar.
The call is:  CALL ZAXLG (A, B, OR, STEP, NL, CSTR, IT, NDIR,
                          NX, NY)                  level 1, 2, 3
         or:  void zaxlg (float a, float b, float or, 
                          float step, int nl, const char *cstr,
                          int it, int ndir, int nx, int ny);   
A, B          are the lower and upper limits of the colour bar.
OR, STEP      are the first label and the step between labels.
NL            is the  length of  the colour bar  in plot coordi-
              nates.
CSTR          is a character string containing the axis name.
IT            indicates how ticks,  labels and the axis name are
              plotted.  If IT = 0,  they are plotted in a clock-
              wise  direction.  If IT = 1, they are plotted in a
              counter-clockwise direction.
NDIR          defines the direction of the colour bar. If NDIR =
              0, a vertical colour bar will be plotted;  if NDIR
              = 1, a horizontal colour bar will be plotted.
NX, NY        are the plot coordinates of the lower left corner.
Name: CURVE3  22
The routine CURVE3 plots three-dimensional data points.
The call is:  CALL CURVE3 (XRAY, YRAY, ZRAY, N)          level 3
         or:  void curve3 (const float *xray, const float *yray, 
                           const float *zray, int n);
XRAY          is an array  containing the  X-coordinates of data
              points.
YRAY          is an array  containing the  Y-coordinates of data
              points.
ZRAY          is an array  containing the  Z-coordinates of data
              points.
N             is the number of data points.
Name: CURVX3  22
The routine CURVX3 plots three-dimensional data points.
The call is:  CALL CURVX3 (XRAY, Y, ZRAY, N)             level 3
         or:  void curvx3 (const float *xray, float y, 
                                      const float *zray, int n);
XRAY          is an array  containing the  X-coordinates of data
              points.
Y             is the Y-position of a row of data points.
ZRAY          is an array  containing the  Z-coordinates of data
              points.
N             is the number of data points.
Name: CURVY3  22
The routine CURVY3 plots three-dimensional data points.
The call is:  CALL CURVY3 (X, YRAY, ZRAY, N)             level 3
         or:  void curvy3 (float x, const float *yray, 
                                      const float *zray, int n);
X             is the X-position of a column of data points.
YRAY          is an array  containing the  Y-coordinates of data
              points.
ZRAY          is an array  containing the  Z-coordinates of data
              points.
N             is the number of data points.
Name: CRVMAT  22
The routine  CRVMAT  plots a coloured surface according to a ma-
trix.
The call is:  CALL CRVMAT (ZMAT, IXDIM, IYDIM, IXPTS, IYPTS)
                                                         level 3
         or:  void crvmat (const float *zmat, int ixdim, 
                               int iydim, int ixpts, int iypts);
ZMAT          is a matrix of the  dimension  (IXDIM, IYDIM) con-
              taining Z-coordinates.  The coordinates correspond
              to a linear grid that overlays the axis system. If
              XA, XE, YA and YE  are the axis limits in GRAF3 or
              values defined with the routine SURSZE,  the rela-
              tionship  between  the grid points  and the matrix
              elements can be described by the formula:
              ZMAT(I,J) = F(X,Y)  where
                   X = XA + (I - 1) * (XE - XA) / (IXDIM - 1)
                   Y = YA + (J - 1) * (YE - YA) / (IYDIM - 1).
IXDIM, IYDIM  define the dimension of ZMAT (>= 2).
IXPTS, IYPTS  is the number of interpolation steps between  grid
              lines (>= 1).  CRVMAT can interpolate points line-
              arly.
Notes:     -  CRVMAT can plot  rectangles,  pixels  and symbols.
              The mode can be selected with  SHDMOD.  Rectangles
              are plotted by default.
           -  Mesh lines defined by SURMSH are supported.
Name: CRVTRI  22
The routine  CRVTRI  plots a coloured  surface  of the  Delaunay
triangulation of a set of data points.
The call is:  CALL CRVTRI (XRAY, YRAY, ZRAY, N, I1RAY, I2RAY,
                           I3RAY, NTRI)                  level 3
         or:  void crvtri (const float *zray, const float *yray, 
                  const float *zray, int n, const int *i1ray, 
                  const int *i2ray, const int *i3ray, int ntri);
XRAY          is an array  containing the  X-coordinates of data
              points.
YRAY          is an array  containing the  Y-coordinates of data
              points.
ZRAY          is an array  containing the  Z-coordinates of data
              points.
N             is the number of data points.
I1RAY, I2RAY, is  the  Delaunay  triangulation  of  the   points
    I3RAY     (XRAY, YRAY) calculated  by the routine TRIANG.
NTRI          is the number of  triangles in  I1RAY,  I2RAY  and 
              I3RAY.
Name: CRVQDR  22
The routine CRVQDR  plots a coloured  surface  from quadrangles.
The call is:  CALL CRVQDR (XRAY, YRAY, ZRAY, N)          level 3
         or:  void crvqdr (const float *xray, const float *yray, 
                           const float *zray, int n);
XRAY          is an array  containing the  X-coordinates of data
              points.
YRAY          is an array  containing the  Y-coordinates of data
              points.
ZRAY          is an array  containing the  Z-coordinates of data
              points.
N             is the number of data points.
Note:         The data  points describe the corners of the quad-
              rangles:  the first four points the first quadran-
              gle, the next four points the next quadrangle, and
              so on. The number of quadrangles is N / 4.
Name: SETRES  22
SETRES defines the size of rectangles plotted by CURVE3,  CURVY3
and CRVMAT.
The call is:  CALL SETRES (NPB, NPH)               level 1, 2, 3
         or:  void setres (int npb, int nph);
NPB, NPH      are the width and height of rectangles in plot co-
              ordinates (> 0).                   Default: (1,1).
Name: AUTRES  22
With a call to  AUTRES,  the size of coloured rectangles will be
automatically calculated by GRAF3 or CRVMAT.
The call is:  CALL AUTRES (IXDIM, IYDIM)           level 1, 2, 3
         or:  void autres (int ixdim, int iydim);
IXDIM, IYDIM  are the  number  of data points  in the  X- and Y-
              direction, or (0, 0).  If IXDIM = 0 and IYDIM = 0,
              CRVMAT  plots rectangles between neighbouring data
              points. This is useful for logarithmic axes, where
              the rectangles should have a different size.
              A negative value  can be used  for a  logartithmic 
              axis scaling, where the matrix in  CRVMAT contains
              already a logarithmic grid. 

Name: AX3LEN  22
The routine  AX3LEN  defines the axis lengths of a coloured axis
system.
The call is:    CALL AX3LEN (NXL, NYL, NZL)              level 1
         or:    void ax3len (int nxl, int yl, int nzl);
NXL, NYL, NZL   are the axis lengths in plot coordinates.
Name: POSBAR  22
The routine POSBAR sets the position of colour bars. By default,
colour bars are plotted in a vertical direction  near the  right
Y-axis of an axis system.
The call is:  CALL POSBAR (COPT)                   level 1, 2, 3
         or:  void posbar (const char *copt); 
COPT          is a  character  value  defining  the position  of
              colour bars.
 = 'FIXED'    means that the colour bar is plotted in a vertical
              direction near the right Y-axis. 
 = 'RIGHT'    has  nearly  the  same  meaning  as  the   keyword 
              'FIXED', but the colour bar is automatically moved
              if labels  and  an axis  title  is  plotted at the 
              right Y-axis.
 = 'TOP'      means  that  the colour  bar  is plotted above the 
              axis system in a horizontal direction.
 = 'BOTTOM'   means  that  the colour bar  is  plotted below the
              axis system in a horizontal direction.
 = 'LEFT'     means that the colour bar  is plotted on the  left
              side of the axis system.
                                         Default COPT = 'FIXED'.
Name: JUSBAR  22
JUSBAR defines alignment of colour bars.
The call is:  CALL JUSBAR (COPT)                   level 1, 2, 3
         or:  void jusbar (const char *copt);
COPT          is  a character  value  defining the  alignment of
              colour bars.
 = 'START'    means  that the  colour bar  is plotted at the be-
              ginning of the X- or Y-axis.
 = 'CENTER'   means  that the colour bar is centred at the X- or
              Y-axis.
 = 'END'      means that the colour bar  is justified at the end
              of the X- or Y-axis.
                                         Default COPT = 'START'.
Name: WIDBAR  22
The routine WIDBAR defines the width of the colour bar.
The call is:  CALL WIDBAR (NZB)                    level 1, 2, 3
         or:  void widbar (int nzb);
NZB           is the width in plot coordinates. Default NZB = 85
Name: FRMBAR  22
The routine FRMBAR defines the thickness of frames around colour
bars.
The call is:  CALL FRMBAR (N)                      level 1, 2, 3
         or:  void frmbar (int n);
N             is the thickness in plot coordinates.
                                                   Default N = 0
Name: SPCBAR  22
The routine  SPCBAR  defines the space  between colour bars  and 
axis systems.
The call is:  CALL SPCBAR (N)                      level 1, 2, 3
         or:  void spcbar 9int n);
N             is the space in plot coordinates.
                                                  Default N = 85
Name: VKXBAR  22
The routine VKXBAR defines horizontal  shifting of  colour bars.
The distance  between the colour bar and the axis system is,  by
default, 85 plot coordinates.
The call is:  CALL VKXBAR (NVFX)                   level 1, 2, 3
         or:  void vkxbar (int nvfx);
NVFX          is an integer  that defines the shifting.  If NVFX
              is positive, the colour bar will be shifted right;
              if NVFX is negative the colour bar will be shifted
              left.                            Default: NVFX = 0
Name: VKYBAR  22
This routine VKYBAR defines a vertical shifting of colour bars.
The call is:  CALL VKYBAR (NVFY)                   level 1, 2, 3
         or:  void vkybar (int nvfy);
NVFY          is an integer  that defines the shifting.  If NVFY
              is positive, the colour bar will be shifted up; if
              NVFY is negative,  the colour bar  will be shifted
              down.                            Default: NVFY = 0
Name: NOBAR   22
The routine  NOBAR instructs  DISLIN to suppress the plotting of
colour bars.
The call is:  CALL NOBAR                           level 1, 2, 3
         or:  void nobar ();
Name: COLRAN  22
The routine defines  the range of colours  used for colour bars.
By default, the range is 1 to 254.
The call is:  CALL COLRAN (NCA, NCE)               level 1, 2, 3
         or:  void colran (int nca, int nce);
NCA, NCE      are colour numbers in the range 1 to 254.
                                              Default: (1, 254).
Name: NOBGD   22
With a call to the routine  NOBGD,  the plotting  of points with
the colour 0 will be suppressed. This reduces plotting  time and
the size of plot files.
The call is:  CALL NOBGD                           level 1, 2, 3
         or:  void nobgd ();
Name: REVSCR  22
The routine  REVSCR exchanges the colours with the indices 0 and
255.
The call is:  CALL REVSCR                          level 1, 2, 3
         or:  void revscr ();
Name: EXPZLB  22
The routine  EXPZLB  expands the numbering of a  logarithmically
scaled  Z-axis  to the next order of  magnitude that  lies up or
down the axis limits. The scaling of the  colour bar will not be
changed.  This routine  is useful  if the range  of  the  Z-axis
scaling is smaller  than 1
order of magnitude.
The call is:  CALL EXPZLB (CSTR)                   level 1, 2, 3
         or:  void expzlb (const char *cstr);
CSTR          is a  character string  defining  the expansion of
              the Z-axis numbering.
  = 'NONE'    means that the numbering will not be expanded.
  = 'FIRST'   means that  the numbering  will  be expanded down-
              wards.
  = 'BOTH'    means that  the numbering  will be expanded  down-
              and upwards.
                                         Default: CSTR = 'NONE'.
Name: RECFLL  22
The routine RECFLL plots a coloured rectangle where the position
is determined by the upper left corner.
The call is:  CALL RECFLL (NX, NY, NB, NH, NCOL)   level 1, 2, 3
         or:  void recfll (int nx, int ny, int nb, int nh,
                                                      int ncol);
NX, NY        are the plot coordinates of the upper left corner.
NB, NH        are the width and height in plot coordinates.
NCOL          is a colour value.
Name: POINT   22
The routine  POINT plots a coloured rectangle where the position
is determined by the centre.
The call is:  CALL POINT (NX, NY, NB, NH, NCOL)    level 1, 2, 3
         or:  void point (int nx, int ny, int nb, int nh, 
                                                      int ncol);
NX, NY        are the plot coordinates of the centre point.
NB, NH        are the width and height in plot coordinates.
NCOL          is a colour value.
Name: RLPOIN  22
The routine RLPOIN plots a coloured rectangle where the position
is specified in user coordinates.
The call is: CALL RLPOIN (X, Y, NB, NH, NCOL)         level 2, 3
         or: void rlpoin (float x, float y, int nb, int nh, 
                                                      int ncol);
Note:        RLPOIN clips  rectangles at the borders  of an axis
             system.
Name: SECTOR  22
The routine SECTOR plots coloured pie sectors.     level 1, 2, 3
The call is:  CALL SECTOR (NX, NY, NR1, NR2, ALPHA, BETA,NCOL)
         or:  void sector (int nx, int ny, int nr1, int nr2,
                           float alpha, float beta, int ncol);
NX, NY        are the plot coordinates of the centre point.
NR1           is the interior radius.
NR2           is the exterior radius.
ALPHA, BETA   are the start and  end angles  measured in degrees
              in a counter-clockwise direction.
NCOL          is a colour value.
Example:      CALL SECTOR  (100,  100,  0,  50,  0., 360., NCOL)
              plots a circle  around the centre  (100,100)  with
              the radius 10 and the colour NCOL.
Name: RLSEC   22
The routine  RLSEC  plots coloured pie sectors  where the centre
and the radii are specified in user coordinates.
The call is:  CALL RLSEC (X, Y, R1, R2, ALPHA, BETA, NCOL)
                                                      level 2, 3
         or:  void rlsec (float x, float y, float r1, float r2,
                           float alpha, float beta, int ncol);
X, Y          are the user coordinates of the centre point.
R1            is the interior radius.
R2            is the exterior radius.
ALPHA, BETA   are the  start and  end angles measured in degrees
              in a counter-clockwise direction.
NCOL          is a colour index between 0 and 255.
Notes:      - For the conversion of the radii  to plot coordina-
              tes, the scaling of the X-axis is used.
            - Sectors  plotted by  RLSEC  will not be cut off at
              the borders of an axis system.
Name: NZPOSN  22
The function NZPOSN converts a Z-coordinate to a colour number.
The call is:  ICLR = NZPOSN (Z)                          level 3
         or:  int    nzposn (float z);
Note:         If  Z  lies  outside  of the axis limits  and Z is
              smaller  than the lower limit,  NZPOSN returns the
              value 0 and the routine returns the  value 255  if
              Z is greater than the upper limit.
Name: COLRAY  22
The routine COLRAY converts an array of Z-coordinates  to colour
values.
The call is:  CALL COLRAY (ZRAY, NRAY, N)                level 3
         or:  void colray (const float *zray, int *nray, int n);
ZRAY          is an array of Z-coordinates.
NRAY          is an array of colour  numbers  calculated by COL-
              RAY.
N             is the number of coordinates.
