00001 00002 c 00003 c Copyright (c) 1986,1987,1988,1989,1990,1991,1992,1993, 00004 c by Steve McMillan, Drexel University, Philadelphia, PA. 00005 c 00006 c All rights reserved. 00007 c 00008 c Redistribution and use in source and binary forms are permitted 00009 c provided that the above copyright notice and this paragraph are 00010 c duplicated in all such forms and that any documentation, 00011 c advertising materials, and other materials related to such 00012 c distribution and use acknowledge that the software was developed 00013 c by the author named above. 00014 c 00015 c THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 00016 c IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 00017 c WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00018 c 00019 00020 subroutine fr lgydr(x,y1,y2,dexps,dexpm,dexpl,iax,ilab) 00021 save 00022 c 00023 c As for logxdr, but for the y-axis. 00024 c 00025 dimension tiks(8) 00026 common/scales/xl,xr,dinchx,ybot,ytop,dinchy,rlen,slen 00027 common/dev status/idevon,idevpen,idevwt 00028 common/fr tik level/jtik level 00029 common/fr hts/htl,htn/fr wts/iwts(4)/fr ticks/tikk(3),tikl 00030 common/fr setax/kax,lax 00031 c 00032 data ntik,tiks/8,.301003,.4771213,.60206,.69897,.7781513, 00033 * .845098,.90309,.9542425/ 00034 c 00035 cinch(dumx,dor,dinch)=(dumx-dor)*dinch 00036 c 00037 if (lax.lt.0) return 00038 c 00039 nlab=3 00040 ndec=0 00041 lpow = 1 00042 call fr lnydr(x,y1,y2,dexps,dexpm,dexpl, 00043 $ iax,ilab,nlab,ndec,lpow) 00044 c 00045 if (abs(dexpm).ne.1.) return 00046 if (abs(dinchy).le..5) return 00047 if (jtik level.ne.1) return 00048 if (lax.eq.1.and.iax.eq.2) return 00049 if (lax.eq.2.and.iax.eq.1) return 00050 c 00051 c Add markers for integers. 00052 c 00053 dr=1. 00054 if (iax.eq.2) dr=-dr 00055 rax=cinch(x,xl,dinchx) 00056 rtik=rax+dr*tikl 00057 ya=y1 00058 yb=y2 00059 if (yb.le.ya) then 00060 ya=y2 00061 yb=y1 00062 end if 00063 c 00064 call fr lnfnc(ya,yb,1.,1,fexp,nexp) 00065 c 00066 fexp=fexp-1. 00067 nexp=nexp+1 00068 if (iwts(1).gt.0)then 00069 jwt=idevwt 00070 call weight(iwts(1)) 00071 end if 00072 c 00073 c Add logarithmically spaced tick marks. 00074 c 00075 do i=1,nexp 00076 do j=1,ntik 00077 exp=fexp+tiks(j) 00078 if (exp.ge.ya) then 00079 if (exp.gt.yb) go to 100 00080 s=cinch(exp,ybot,dinchy) 00081 call plot(rax,s,3) 00082 rt = rtik 00083 c 00084 c Note test here is 4, not 3 because nexp was incremented above. 00085 c 00086 if (nexp.le.4.and.j.eq.2) rt = rax+dr*tikk(3) 00087 call plot(rt,s,2) 00088 end if 00089 end do 00090 fexp=fexp+1. 00091 end do 00092 c 00093 100 if (iwts(1).gt.0) call weight(jwt) 00094 c 00095 end