next up previous contents index
Next: SUBROUTINE PHIST Up: MASTER Subroutines Previous: SUBROUTINE MVAX3DX

SUBROUTINE MVAX5D

       MVAX5D plots a 4 or 5-d surface by plotting slices through the 3rd and 4th dimensions in a 2-d array of of 3-d plots. Each 3-d surface plots d(*) as a function of 2 of the dimensions using MVAX3D.

Origin of the plot is in the lower-left corner. The X axis runs left to right along the subplot bottom. The Y axis is plotted out the page of the subplot (see MVAX3D). The Z axis runs left to right in subplots with the W axis vertical subplots.

        ^ W  d
        |   | 
        |   |__X
        |  /
        | Y
        ----------> Z

Since the subplots may runoff the edge of the plotting page, the routine includes a page size option to issue a NEWPAGE and plot the additional subplots on separate pages. A shrinking factor is included to shrink the subplots. Labeling of the W and Z axis is due in the lower right hand corner. Each subplot is further tagged with the corresponding W and Z axis value. A multiple page plot can be pasted together to form a large representation of a 5-d (or 4-d) surface.

CALL MVAX5D(d,nd,n,a,b,iflag,iax,iform,w,xh,yh,zh,ph,pl,fac,iw,iz,
            st,en,t1,nt1,t2,nt2,t3,nt3,t4,nt4,dt,ndt,<dm,dx<,ic>>)

d        (R): array to plot dimensioned d(nd(1),nd(2),nd(3),nd(4))
nd       (I): array of containing dimensions of d array
n        (I): array of number of points in each dimension to plot
a,b      (R): angles a,b for MVAX3D subplot
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)   = 2 : use color array (need all parameters)
               = 1 : do not use color array
 (10's digit)  = 0 : mesh surface w/side panels, lower side of
                     surface not shown
               = 1 : mesh surface w/no side panels, lower side of
                     surface shown using dotted lines
               = 2 : mesh surface w/no side panels, lower side of
                     surface shown using solid lines
               = 3 : mesh surface w/no side panels, lower side of
                     surface not shown
               = 4 : histogram surface, lower side of surface
                     shown using dotted lines
               = 5 : histogram surface, lower side of surface
                     shown using solid lines
               = 6 : histogram surface, lower side of surface
                     shown using solid lines
 (100's digit) = 0 : Ask which screen device to use
              <> 0 : Screen Device Number (see FRAME)
iax      (I): axis format control
              < 0 : plot axes, use input scale factors dm and dx
              = 0 : no axes plotted, parameters (xt...dx) not used.
                    scaling derived from d array 
              > 0 : plot axes, scaling derived from d array, only
                    axis parameters xt thru ze accessed.
 (1's digit)  = 1 : Plot actual max/min or input values for Y axis
              = 2 : Plot smoothed values for Y axis
 (10's digit) = 0 : Axes plotted for all subplots
              = 1 : Axes plotted only for first subplot
              = 2 : Axes labeld only for first subplot, plotted for all
iform    (I): plot format code 
              selects which dimension of d array is to become
              which output axis 

          plot axis                     plot axis
Code      X  Y  Z  W            Code    X  Y  Z  W
_____    ____________          _____  ____________
 1 input: 1  2  3  4             13     3  1  2  4
 2 dimen- 1  2  4  3             14     3  1  4  2
 3 sion   1  4  2  3             15     3  2  1  4
 4 number 1  4  3  2             16     3  2  4  1
 5        1  3  2  4             17     3  4  1  2
 6        1  3  4  2             18     3  4  2  1
 7        2  1  3  4             19     4  1  2  3
 8        2  1  4  3             20     4  1  3  2
 9        2  4  3  1             21     4  2  1  3
 10       2  4  1  3             22     4  2  3  1
 11       2  3  4  1             23     4  3  1  2
 12       2  3  1  4             24     4  3  2  1

w        (R): working array dimensioned at least n(x)*n(y)
xh,yh,zh (R): length of each axis of MVAX3D subplot
ph,pl    (R): page height, length when multiple pages accessed
fac      (R): shrink factor for subplots (2 == FACTOR(1/2))
iw,iz    (I): plot every iw'th and iz'th subplots
(NOTE: the axis titles, number of characters, start/stop
       values are permuted along with d array dimensions)
st,en    (R): arrays containing axes start and end values
t1       (C): title corresponding to 1st dimension of d
nt1      (I): number of characters in title t1
              = 0 : no axis plotted
              > 0 : axis plotted
t2       (C): title corresponding to 2st dimension of d
nt2      (I): number of characters in title t2
              = 0 : no axis plotted
              > 0 : axis plotted
t3       (C): title corresponding to 3rd dimension of d
nt3      (I): number of characters in title t3
              = 0 : no axis plotted
              > 0 : axis plotted
t4       (C): title corresponding to 4th dimension of d
nt4      (I): number of characters in title t4
              = 0 : no axis plotted
              > 0 : axis plotted
t5       (C): title corresponding to 5th dimension of d
nt5      (I): number of characters in title t5
              = 0 : no axis plotted
              > 0 : axis plotted
(NOTE: the following optional parameters are accessed if
       iax<0 or mod(iflag,10)=1)
dm,dx (R): minimum and maximum scale values of plot
ic    (I): color array
           ic(1) : color for axis lines
           ic(2) : color for axis numbers
           ic(3) : color for axis titles
           ic(4) : color for axis exponents
           ic(5) : color for plot surface (return)



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