Main Page   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

frlgxdr.f

Go to the documentation of this file.
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 lgxdr(y,x1,x2,dexps,dexpm,dexpl,iax,ilab)
00022       save
00023 c     
00024 c     Draw x-axis, tick marks and numbers for a log plot.
00025 c     (Numbers are handled by frlnxdr with ndec = 0.)
00026 c     
00027       dimension tiks(8)
00028       common/scales/xl,xr,dinchx,ybot,ytop,dinchy,rlen,slen
00029       common/dev status/idevon,idevpen,idevwt
00030       common/fr tik level/jtik level
00031       common/fr hts/htl,htn/fr wts/iwts(4)/fr ticks/tikk(3),tikl
00032 c
00033       data ntik,tiks/8,.301003,.4771213,.60206,.69897,.7781513,
00034      *        .845098,.90309,.9542425/
00035 c     
00036       cinch(dumx,dor,dinch)=(dumx-dor)*dinch
00037 c
00038 c     Plot the numbers and major tick marks:
00039 c
00040       nlab=2
00041       ndec=0
00042       lpow = 1
00043       call fr lnxdr(y,x1,x2,dexps,dexpm,dexpl,
00044      $              iax,ilab,nlab,ndec,lpow)
00045 c
00046       if (abs(dexpm).ne.1.) return
00047       if (abs(dinchx).le..5) return
00048       if (jtik level.ne.1) return
00049 c     
00050 c     Add markers for integers
00051 c     
00052       ds=1.
00053       if (iax.eq.2) ds=-ds
00054       sax=cinch(y,ybot,dinchy)
00055       stik=sax+ds*tikl
00056       xa=x1
00057       xb=x2
00058       if (xb.le.xa) then
00059           xa=x2
00060           xb=x1
00061       end if
00062 c
00063       call fr lnfnc(xa,xb,1.,1,fexp,nexp)
00064 c
00065       fexp=fexp-1.
00066       nexp=nexp+1
00067       if (iwts(1).gt.0) then
00068           jwt=idevwt
00069           call weight(iwts(1))
00070       end if
00071 c
00072 c     Add logarithmically spaced tick marks.
00073 c
00074       do i=1,nexp
00075           do j=1,ntik
00076               exp=fexp+tiks(j)
00077               if (exp.ge.xa) then
00078                   if (exp.gt.xb) go to 100
00079                   r=cinch(exp,xl,dinchx)
00080                   call plot(r,sax,3)
00081                   st = stik
00082 c
00083 c                 Note test here is 4, not 3 because nexp was incremented above.
00084 c
00085                   if (nexp.le.4.and.j.eq.2) st = sax+ds*tikk(3)
00086                   call plot(r,st,2)
00087               end if
00088           end do
00089           fexp=fexp+1.
00090       end do
00091 c
00092 100   if (iwts(1).gt.0) call weight(jwt)
00093 c
00094       end

Generated at Sun Feb 24 09:57:00 2002 for STARLAB by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001