Hi,
I would like to plot two curves on the same graph using the autograph
subroutines. I would like one curve to be scaled by the left axis and
the other by the right axis. I've figured out how to turn on the right
axis correctly and to get the axis labels to have the right values, but
I am having trouble setting the size of the labels on the right axis.
Below is a sample program that illustrates my problem. Note that the
labels on the right are much smaller than those on the left, bottom and
top even though I am using the same resizing commands for all sides.
What am I doing incorrectly?
Thanks.
-Harry
-----------------------------------------------------------------------
PROGRAM TEST
C
PARAMETER (IERRF=6, LUNIT=2, IWTYPE=8, IWKID=1)
PARAMETER (NPTS=2000)
REAL ydra(npts,2), XDRA(NPTS)
C
C Generate some data to plot
C
do 20 ii=1,NPTS
xdra(ii) = float(ii)
ydra(ii,1) = cos(xdra(ii)*3.14159/1000)+1.
ydra(ii,2) = sin(xdra(ii)*3.14159/1000)+1.
20 continue
C
C Open GKS, open and activate a workstation.
C
CALL GOPKS (IERRF, ISZDM)
CALL GOPWK (IWKID, LUNIT, IWTYPE)
CALL GACWK (IWKID)
C
C SET GRID SHAPE (-2 = 2x AS WIDE AS TALL)
C
CALL AGSETF('GRID/SHAPE.',-2.)
C
C TURN ON THE RIGHT AXIS
C
CALL AGSETI('RIGHT/FUNCTION.',1)
CALL AGSETF('RIGHT/NUMERIC/TYPE.',3.)
C
C SET SIZE OF AXIS VALUES
C
C****************************************************
C The next two lines seem to have no effect. Why?
C****************************************************
CALL AGSETF('AXIS/RIGHT/NUMERIC/WIDTH/MANTISSA.',.035)
CALL AGSETF('AXIS/RIGHT/NUMERIC/WIDTH/EXPONENT.',.030)
C
CALL AGSETF('AXIS/LEFT/NUMERIC/WIDTH/MANTISSA.',.035)
CALL AGSETF('AXIS/LEFT/NUMERIC/WIDTH/EXPONENT.',.030)
CALL AGSETF('AXIS/BOTTOM/NUMERIC/WIDTH/MANTISSA.',.035)
CALL AGSETF('AXIS/BOTTOM/NUMERIC/WIDTH/EXPONENT.',.030)
C
C SET LABEL INFORMATION
C
CALL AGSETC('LABEL/NAME.','B')
CALL AGSETI('LINE/NUMBER.',-100)
CALL AGSETC('LINE/TEXT.','POINTS FROM START OF RECORD$')
CALL AGSETF('LINE/CHARACTER.',.035)
CALL AGSETC('LABEL/NAME.','L')
CALL AGSETI('LINE/NUMBER.',100)
CALL AGSETC('LINE/TEXT.'
&,'WATER SURFACE ELEVATION (METERS)$')
CALL AGSETF('LINE/CHARACTER.',.035)
CALL AGSETC('LABEL/NAME.','T')
CALL AGSETI('LINE/NUMBER.',100)
CALL AGSETF('LINE/CHARACTER.',.035)
CALL AGSETC('LABEL/NAME.','R')
CALL AGSETI('LINE/NUMBER.',-100)
CALL AGSETC('LINE/TEXT.',
&'INCHES$')
C****************************************************
C This line does not seem to have an effect. Why?
C****************************************************
CALL AGSETF('LINE/CHARACTER.',.035)
C
C SET THE MIN/MAX VALUES OF Y AXIS
C
CALL AGSETF('Y/MINIMUM.',-0.0)
CALL AGSETF('Y/MAXIMUM.', 2.1)
CALL EZMXY (XDRA,YDRA,NPTS,2,npts,'TAYLOR SLOUGH BRIDGE$')
C
C Deactivate and close the workstation, close GKS.
C
CALL GDAWK (IWKID)
CALL GCLWK (IWKID)
CALL GCLKS
STOP
END
subroutine agutol(iaxs,funs,idma,vinp,votp)
if (funs.eq.1.) then
if(idma.lt.0) votp=vinp*2.1/.04
if(idma.gt.0) votp=vinp*.04/2.1
else
votp=vinp
end if
return
end
This archive was generated by hypermail 2b29 : Wed Jun 28 2000 - 09:45:44 MDT