Name: BARS    10,20
BARS plots bar graphs.
The call is:  CALL BARS (XRAY, Y1RAY, Y2RAY, N)       level 2, 3
         or:  void bars (float *xray, float *y1ray, float y2ray,
                                                         int n); 
XRAY          is an array  of user coordinates  defining the po-
              sition of the bars on the X-axis.
Y1RAY         is an array  of user  coordinates  containing  the
              start points of the bars on the Y-axis.
Y2RAY         is an array  of user  coordinates  containing  the
              end points of the bars on the Y-axis.
N             is the number of bars.
Notes:      - Shading patterns of bars can be selected with SHD-
              PAT or MYPAT. Shading numbers will be  incremented
              by 1 after every call to BARS.
            - Legends can be plotted for bar graphs.
Name: BARTYP  20
The routine BARTYP defines vertical or horizontal bars.
The call is:  CALL BARTYP (CTYP)                   level 1, 2, 3
         or:  void bartyp (char *ctyp);
CTYP          is a character string defining the bar type.
  = 'VERT'    means that vertical bars will be plotted.
  = 'HORI'    means  that  horizontal  bars will be plotted.  If
              this parameter is used,  XRAY defines the position
              of the bars  on the Y-axis while  Y1RAY  and Y2RAY
              define the position of the bars on the X-axis.
                                         Default: CTYP = 'VERT'.
Name: BARPOS  20
The position of the bars is determined  by the parameters  XRAY,
Y1RAY and Y2RAY. The routine BARPOS can be used to select prede-
fined positions. The parameters  XRAY, Y1RAY and Y2RAY will con-
tain the calculated positions.
The call is:  CALL BARPOS (COPT)                   level 1, 2, 3
         or:  void barpos (char *copt);
COPT          is a character string that defines the position of
              the bars.
  = 'NONE'    means that the  positions are defined  only by the
              parameters in BARS.
  = 'TICKS'   means  that  the bars  will  be centred  at  major
              ticks. XRAY must be a dummy vector.
  = 'AXIS'    means that vertical bars start  at the  X-axis and
              horizontal bars  at the  Y-axis.  Y1RAY must  be a
              dummy vector.
  = 'BOTH'    activates the options 'TICKS' and 'AXIS'. XRAY and
              Y1RAY must be dummy arrays.
                                         Default: COPT = 'NONE'.
Name: BARGRP  20
The routine  BARGRP  puts bars with the same axis position  into
groups.  The number of group elements  should be the same as the
number of calls to the routine BARS.
The call is:  CALL BARGRP (NGRP, GAP)              level 1, 2, 3
         or:  void bargrp (int ngrp, float gap);
NGRP          is the number of bars defining one group.
GAP           defines the spacing between group bars.  If GAP is
              positive, the value GAP * W is used where W is the
              width of a single bar. If GAP is negative,  the po-
              sitive value of GAP is used  where GAP must be spe-
              cified in plot coordinates.
Name: PIEGRF  21
PIEGRF plots pie charts.
The call is:  CALL PIEGRF (CBUF, N, XRAY, NSEG)          level 1
         or:  void piegrf (char *cbuf, int n, float *xray,
                                                      int nseg);
CBUF          is a  character string  containing  text lines for
              segment labels. More than one line can be  defined
              for labels. CBUF must be created with LEGLIN after
              calling LEGINI. If N is 0 in the  parameter  list,
              CBUF can be a dummy variable.
N             is the number of  text lines used  for one segment
              label.
XRAY          is an array of user coordinates.
NSEG          is the dimension of XRAY.
Notes:      - The centre  and the size of pies  is defined  by a
              region  that can be changed with the routines AXS-
              POS and AXSLEN.
            - PIEGRF sets the level to 2. Titles and legends can
              be plotted after PIEGRF is called.
            - Segment  labels can contain  several lines of text
              and the data values specified in PIEGRF.  Data va-
              lues can also be converted to percent values.
            - Segment labels are contained  within  a box  where
              the  thickness  of the border  can be changed with
              FRAME.
Name: CHNPIE  21
CHNPIE defines colours and shading patterns for pie graphs.
The call is:  CALL CHNPIE (CATT)                   level 1, 2, 3
         or:  void chnpie (char *catt);
CATT          is a character string defining segment attributes.
  = 'NONE'    means that all pie  segments will be  plotted with
              the current colour and shading pattern.
  = 'COLOR'   means that every segment will have a different co-
              lour.
  = 'PATTERN' means  that  every  segment will have  a different
              shading pattern.
  = 'BOTH'    means  that every  segment will have both a diffe-
              rent colour and shading pattern.
                                      Default: CATT = 'PATTERN'.
Note:         The sequence  of colours is:    WHITE/BLACK,  RED,
              GREEN, YELLOW, BLUE, ORANGE, CYAN, MAGENTA.
              The sequence of shading patterns is 0 - 17.
              Colour  and  pattern cycles  can  be changed  with
              CLRCYC and PATCYC.
Name: PIELAB  21
The routine PIELAB defines character strings that can be plotted
on the left or right side of data values within segment labels.
The call is:  CALL PIELAB (CLAB, CPOS)             level 1, 2, 3
         or:  void pielab (char *clab, char *cpos);
CLAB          is a character string displayed in segment labels.
CPOS          is a character string that defines the position of
              CLAB.
  = 'LEFT'    means that  CLAB will be plotted  on the left side
              of data values.
  = 'RIGHT'   means that CLAB will be plotted on the  right side
              of data values.
Note:         If percent and data values are plotted in  segment
              labels, PIELAB is only used for data values.
Name: PIEEXP  21
Pie segments  will be  offset by  8%  of the radius if PIEEXP is
called.
The call is:  CALL PIEEXP
         or:  void pieexp ();
Note:         Single segments  will be offset  if the correspon-
              ding values in PIEGRF are negative.
Name: PIEVEC  21
PIEVEC modifies  the arrows plotted between segments  and labels
that lie outside of segments.
The call is:    CALL PIEVEC (IVEC, COPT)           level 1, 2, 3
         or:    void pievec (int ivec, char *copt);
IVEC            defines the arrow head (see VECTOR).
COPT            is a  character string  that defines  the vector
                plotted between segments and labels.
  = 'NONE'      suppresses vectors.
  = 'STRAIGHT'  means that straight vectors will be plotted.
  = 'BROKEN'    means that broken vectors will be plotted.
                                      Default: (2301, 'BROKEN').
Name: USRPIE  21
USRPIE is a user-defined  subroutine  that can modify pie charts
such as suppressing certain labels.  USRPIE is called by  PIEGRF
for each segment.
The call is:  CALL USRPIE (ISEG, XDAT, XP, NRAD, NOFF, ANG, NVX,
                                                NVY, IDRW, IANN)
         or:  void usrpie (int iseg, float xdat, float xp, 
                      int *nrad, int *noff, float *ang,
                      int *nvx, int *nvy, int *idrw, int *iann); 
ISEG          is the segment index (starting with 1).
XDAT          is the data value  of the segment  as specified in
              PIEGRF.
XP            is the percent value of XDAT.
NRAD          is the segment radius in plot coordinates.
NOFF          is the segment  offset  in  plot coordinates  (de-
              fault: 0).
ANG           is the  offset  angle  measured  in  degrees  in a
              counter-clockwise direction. The default  value is
              the angle which bisects the segment.
NVX, NVY      shifts the segment label in the X- and Y-direction
              by NVX and NVY plot coordinates.
IDRW          defines  the plotting  of segments.  If  IDRW = 0,
              plotting will be suppressed (default: 1).
IANN          defines  the plotting of labels.  If IANN = 0, la-
              bels will be suppressed (default: 1).
Note:         The first  3 parameters of  USRPIE  are only given
              for information and cannot be changed by the user.
