next up previous contents index
Next: SUBROUTINE CNT3D Up: MASTER Subroutines Previous: 4/5-d Surface plots:

SUBROUTINE BARCHR

 BARCHR plots a bar chart with optionally shaded bar segments and descriptive legends. In addition, multiple lines with shading between lines can be plotted. Legend can be automatically placed or the user can specify the location of the legend. In the bar chart mode, bars can run vertically or horizontally. b(i,j) specifies the ith bar and jth segment of bar (or horizontal line depending on iflag option). Top of jth segment or height of jth line is computed from:

                       j
   yplotted = ylen * (Sum b(i,k) - bm)/(bx-bm)
                      k=1
CALL BARCHR(b,nb,ns,sh,iflag,xl,yl,bm,bx,f,nd,sp,sl,nsl,bl,nbl,cs
              t,nt,bt,nbt,lt,nlt,tcs,a,d,ip,ic)

b     (R): bar data array dimensioned b(nb,ns)
nb    (I): number of bars/number of points in each line
ns    (I): number of segments in each bar/number of lines
sh    (I): shade option for segment/area between lines
           dimensioned sh(ns)
              sh            shade pattern
             ____       _________________________
              0               no shading
              1          -45 deg solid lines
              2          horizontal solid lines
              3          +45 deg solid lines
              4          vertical deg solid lines
              5          -45 deg dotted lines
              6          horizontal dotted lines
              7          +45 deg dotted lines
              8          vertical deg dotted lines
              9          +/- 45 deg dotted lines
             10          vertical/horizontal dotted lines
             11          +/- 45 deg solid lines
             12          vertical/horizontal solid lines
iflag (I): option flag
           < 0 : do not close LONGLIB after plotting
           = 0 : close LONGLIB--no plot produced
           > 0 : close LONGLIB after plotting
(magnitude) > 10000 : do not initialize LONGLIB before plotting
   (1's digit)  = 1 : color array not used
                = 2 : color array used
   (10's)       = 0 : bar chart with vertical bars
                = 1 : bar chart with horzontal bars
                = 2 : multiple line chart
   (100's)      = 0 : Ask which screen device to use
               <> 0 : Screen Device Number (see FRAME)
xlen  (R): length of horizontal axis
           < 0 : chart is enclosed in a box
           > 0 : only bottom and left axes plotted
ylen  (R): length of vertical axis
bm,bx (R): minimum and maximum values to be shown on chart
           note: if bx=bm, values computed from b array will be used
f     (R): format for numeric labels on axis (see NUMBER)
nd    (I): number of divsions of bar length axis
           < 0 : division lines shown on chart
           = 0 : no division lines or numeric labels
           > 0 : division lines shown
sp    (R): width of bar (ignored for line plot)
           = 0 : auto scaling with evenly spaced bars
           > 0 : bars grouped in groups of int(sp).  Each
                 bar has width frac(sp).
sl    (C): segment legend labels (CHARACTER data type)
           dimensioned sl(ns)
nsl   (I): number of characters to use in plotting sl's
           = 0 : no label plotted
bl    (C): bar labels (CHARACTER data type) dimensioned bl(nb)
nbl   (I): number of characters to use in plotting bl's
           = 0 : no label plotted
cs    (R): legend/bar label character height
t     (C): title string placed on top of chart
nt    (I): number of characters in t
           = 0 : no label plotted
bt    (C): title string placed at base of bars
nbt   (I): number of characters in bt
           = 0 : bt not plotted
lt    (C): title string placed on bar length axis
nlt   (I): number of characters in lt
           = 0 : lt not plotted
tcs   (R): height of title strings
a     (R): legend location/shading box size dimensioned a(3)
            a(1) : legend box size
                   < 0 : legend placed to right of chart, a(2)
                         and a(3) are not used
                   = 0 : no legend
                   > 0 : a(2) and a(3) used to locate legend
            a(2) : x position of lower left corner of legend
            a(3) : y position of lower left corner of legend
d     (R): distance between shading lines
           < 0 : line width array used
           > 0 : line width array not used
ip    (I): line width array (used only if d<0)
            p(1) : axis line width
            p(2) : division line width
            p(3) : bar outline/data line width
            p(4) : labeling line width
            p(5) : title line width (bt,lt)
            p(6) : title line width (t)
ic    (I): color array (used only if mod(|iflag|,10)=2)
            c(1) : t title color (return)
            c(2) : bt title color
            c(3) : lt title color
            c(4) : axis numberic label colors
            c(5) : sl label color
            c(6) : bl label color
            c(7) : segment 1 color
            c(8) : segment 2 color
            ...         ...



David Long
Wed Jun 12 10:34:11 MDT 1996