tomwalters@0: static char *axes_postscript[] = { tomwalters@0: "%! simple postscript axes", tomwalters@0: "% @(#)axes.h 1.10 John holdsworth 5/31/91", tomwalters@0: "", tomwalters@0: "/Axes { % title xmin xmax xtitle ymin ymax ytitle Axes -", tomwalters@0: "/AxesDict 50 dict def", tomwalters@0: "AxesDict begin", tomwalters@0: "", tomwalters@0: " /ytitle exch def", tomwalters@0: " /ymax exch def", tomwalters@0: " /ymin exch def", tomwalters@0: " /xtitle exch def", tomwalters@0: " /xmax exch def", tomwalters@0: " /xmin exch def", tomwalters@0: " /title exch def", tomwalters@0: "", tomwalters@0: " newpath clippath pathbbox /height exch def", tomwalters@0: " /width exch def", tomwalters@0: " pop pop", tomwalters@0: "", tomwalters@0: " /tagsize 0.05 height mul neg def", tomwalters@0: " /fontsize 0.05 height mul def", tomwalters@0: " /space 0.10 height mul def", tomwalters@0: "", tomwalters@0: " /Times-Roman findfont fontsize scalefont setfont", tomwalters@0: "", tomwalters@0: " /midprint { % str x y midprint -", tomwalters@0: " moveto", tomwalters@0: " dup", tomwalters@0: " stringwidth pop 2 div neg 0 rmoveto", tomwalters@0: " show", tomwalters@0: " } def", tomwalters@0: "", tomwalters@0: " /leftprint { % str x y leftprint -", tomwalters@0: " moveto", tomwalters@0: " dup", tomwalters@0: " stringwidth pop neg fontsize 0.4 mul neg rmoveto", tomwalters@0: " show", tomwalters@0: " } def", tomwalters@0: "", tomwalters@0: " /ticks { % min max ticker -", tomwalters@0: " /ticker exch def % procedure to draw ticks", tomwalters@0: " /max exch cvr def % axis maximum", tomwalters@0: " /min exch cvr def % axis minimum", tomwalters@0: "", tomwalters@0: " /maxsubticks 50 def", tomwalters@0: "", tomwalters@0: " max min ne {", tomwalters@0: "", tomwalters@0: " % calculate order of magnitude", tomwalters@0: "", tomwalters@0: " /delta max min sub log ceiling 1 sub 10 exch exp def", tomwalters@0: "", tomwalters@0: " % do ticks", tomwalters@0: "", tomwalters@0: " min delta div ceiling delta mul", tomwalters@0: " delta", tomwalters@0: " max delta div floor delta mul", tomwalters@0: " {", tomwalters@0: " min sub max min sub div 0.5 exch ticker", tomwalters@0: " }", tomwalters@0: " for", tomwalters@0: "", tomwalters@0: " % do sub ticks", tomwalters@0: "", tomwalters@0: " max min sub delta div dup", tomwalters@0: " 10 mul maxsubticks lt {.1} {5 mul maxsubticks lt {.2} {.5} ifelse } ifelse", tomwalters@0: " delta mul /delta exch def", tomwalters@0: "", tomwalters@0: " min delta div ceiling delta mul", tomwalters@0: " delta", tomwalters@0: " max delta div floor delta mul", tomwalters@0: " {", tomwalters@0: " min sub max min sub div 0.25 exch ticker", tomwalters@0: " }", tomwalters@0: " for", tomwalters@0: "", tomwalters@0: " } if", tomwalters@0: "", tomwalters@0: " } def", tomwalters@0: "", tomwalters@0: " width 0.20 mul 0.15 height mul translate 0.75 0.75 scale", tomwalters@0: "", tomwalters@0: " gsave", tomwalters@0: "", tomwalters@0: " height 0.002 mul setlinewidth", tomwalters@0: " currentlinewidth 2 div neg dup translate", tomwalters@0: "", tomwalters@0: " newpath", tomwalters@0: " tagsize 0 moveto width 0 lineto width tagsize lineto", tomwalters@0: " tagsize height moveto 0 height lineto 0 tagsize lineto", tomwalters@0: " stroke", tomwalters@0: "", tomwalters@0: "", tomwalters@0: " title width 2 div height tagsize sub midprint", tomwalters@0: "", tomwalters@0: " xmin 0 tagsize fontsize sub midprint", tomwalters@0: " xmax width tagsize fontsize sub midprint", tomwalters@0: "", tomwalters@0: " 0 height moveto width height lineto width 0 lineto stroke", tomwalters@0: "", tomwalters@0: " xmin xmax {width mul 0 moveto tagsize mul 0 exch rlineto stroke} ticks", tomwalters@0: " xmin xmax {width mul height moveto tagsize neg mul 0 exch rlineto stroke} ticks", tomwalters@0: "", tomwalters@0: " xtitle width 2 div tagsize fontsize sub midprint", tomwalters@0: "", tomwalters@0: "", tomwalters@0: " ymin tagsize 0 leftprint", tomwalters@0: " ymax tagsize height leftprint", tomwalters@0: "", tomwalters@0: " ymin ymax {height mul 0 exch moveto tagsize mul 0 rlineto stroke} ticks", tomwalters@0: " ymin ymax {height mul width exch moveto tagsize neg mul 0 rlineto stroke} ticks", tomwalters@0: "", tomwalters@0: " 90 rotate", tomwalters@0: " ytitle height 2 div space midprint", tomwalters@0: "", tomwalters@0: "", tomwalters@0: " grestore", tomwalters@0: "", tomwalters@0: " newpath 0 0 moveto width 0 lineto width height lineto 0 height lineto closepath clip", tomwalters@0: "", tomwalters@0: "end } def", tomwalters@0: ( char * ) 0 } ;