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 00021 subroutine fr lgset(x1,x2,xlen,mode,dexps,dexpm,dexpl) 00022 save 00023 c 00024 common/fr tik level/jtik level 00025 c 00026 c Find increments for small, major and labeled ticks for log plot. 00027 c 00028 x1=alog10(abs(x1)) 00029 x2=alog10(abs(x2)) 00030 call fr lndiv(x1,x2,xlen,dexps,dexpm,dexpl) 00031 if (abs(dexps).lt.1.) dexps=0. 00032 if (abs(dexpm).lt.1.) dexpm=dexpm/abs(dexpm) 00033 if (abs(dexpl).lt.1.) dexpl=dexpm 00034 if (mode.ne.-2) return 00035 c 00036 dfnc=dexpm 00037 if (dexps.ne.0.) dfnc=dexps 00038 call fr lnfnc(x1,x2,dfnc,2,fexp,nexp) 00039 c 00040 c dinch=xlen/abs(x2-x1) 00041 c if (jtik level.ne.1.or.dinch.le..5.or.abs(dexpm).ne.1.) then 00042 c 00043 c As in frlnset, force at least two numeric labels if mode = 2. 00044 c 00045 call fr lnfnc(x1,x2,abs(dexpl),1,fexp,nexp) 00046 if (fexp+abs(dexpl).gt.max(x1,x2)) dexpl=2.*dexpm 00047 c 00048 c end if 00049 c 00050 end