PLOTLGX is a routine for ploting multiple curves defined in x,y with log and/or linear\ scaling including appropriate axes and plot title. Various options may be used select the format of plotting. This routine may be used to plot many y value curves simultaneously with the curves distinguished by symbols, color, and/or line type. This subroutine permits axis parameter flexibility and dimensioning for the y array values.
CALL PLOTLGX(x,y,nld,npd,nl,np,iflag,isym,xl,yl,
nmx,nnx,mlx,tsx,ndx,smx,
nmy,nny,mly,tsy,ndy,smy,
xt,nxt,yt,nyt,t,nt,<xm,xx,ym,yx<<,ic>,l>>)
x (R): array of x values dimensioned at least x(np)
y (R): array of y values dimensioned y(npd,nld)
nld (I): dimension of y array (lines)
npd (I): dimension of y array (points)
nl (I): number of data lines to plot from y array
np (I): number of points per line
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 : plot x linear, y logarithmic (base 10)
= 2 : plot x logarithmic, y linear
= 3 : plot x logarithmic, y logarithmic
= 4 : plot x linear, y linear
(10's digit) = 0 : no axes or title plotted
= 1 : axes with axis line/ticks on top and sides
= 2 : plot solid cartesian grid
= 3 : plot ticked cartesian grid without box
= 4 : plot ticked cartesian grid with box
= 5 : plot ticked cartesian grid, box w/axis ticks
= 6 : plot without box or cartesian grid
= 7 : plot solid logarithmic grid
= 8 : plot dotted logarithmic grid
= 9 : plot ticked logarithmic grid
(100's) = 0 : Ask which screen device to use
<> 0 : Screen Device Number (see FRAME)
isym (I): plot a symbol every isym'th point
< 0 : symbols only plotted, no line
= 0 : no symbols, line only
> 0 : symbol plotted every isym'th point
xl (R): x axis length in inches
< 0 : use input scaling in xm,xx
> 0 : use auto scaling computed from input array
yl (R): y axis length in inches
< 0 : use input scaling in ym,yx
> 0 : use auto scaling computed from input array
(see AXIS2 for detailed description of axis parameters)
nmx (I): number of minor ticks between major ticks on x axis
nnx (I): highlight length of nnx-th minor tick on x axis
mlx (I): number of major tick marks on x axis
tsx (R): size of title and numbers on x axis
< 0 auto exponent scaling (x10 to power) disabled
> 0 auto exponent scaling (x10 to power) enabled
ndx (I): number of digits to right of decimal point on x axis
smx (R): major tick length on x axis
nmy (I): number of minor ticks between major ticks on y axis
nny (I): highlight length of nny-th minor tick on y axis
mly (I): number of major tick marks on y axis
tsy (R): size of title and numbers on y axis
< 0 auto exponent scaling (x10 to power) disabled
> 0 auto exponent scaling (x10 to power) enabled
ndy (I): number of digits to right of decimal point on y axis
smy (R): major tick length on y axis
xt (C): x axis title string
nxt (I): number of characters in xt
< 0 : axis ticks on top of x axis
= 0 : no axis
> 0 : axis ticks on bottom of x axis (normal)
yt (C): y axis title string
nyt (I): number of characters in yt
< 0 : axis ticks on right of y axis
= 0 : no axis
> 0 : axis ticks on left of y axis (normal)
t (C): plot title string (limited to 99 characters)
nt (I): number of characters in t
< 0 : use color array
= 0 : no title
> 0 : do not use color array
if |nt|/100 > 0 : use line type list
xm (R): minimum value of x array (accessed if xl or nt < 0)
xx (R): maximum value of x array (accessed if xl or nt < 0)
ym (R): minimum value of y array (accessed if xl, yl or nt<0)
yx (R): maximum value of y array (accessed if xl, yl or nt<0)
(NOTE: color array accessed if nt < 0 or |nt|/100 >0)
ic (I): color list
ic(1) : color for grid
ic(2) : color for axis lines
ic(3) : color for axis numbers
ic(4) : color for axis titles
ic(5) : color for axis exponents
ic(6) : color for title (return)
ic(7) : color for plotted line 1
ic(8) : color for plotted line 2
ic(9) : etc.
l (I): data line type list (accessed only if |nt|/100 > 0)
common /cplotlgx/xmr,dxr,ymr,dyr
xmr (R): returned value of xmin
dxr (R): returned value of scale factor (xmax-xmin)/xlen
ymr (R): returned value of ymin
dyr (R): returned value of scale factor (ymax-ymin)/ylen