%!
/emptystr { ( ) } def
/graph {
/labels exch def % show labels ? (boolean)
/divs exch def % divsion spacing
/height exch def
/width exch def
.25 setlinewidth
2 setlinecap
gsave
% currentlinewidth currentdash
% initgraphics
% setdash setlinewidth
width divs div cvi
/index divs def
divs 0 translate
{ newpath
0 0 moveto
labels {
gsave
90 rotate 20 0 moveto
index emptystr cvs show
grestore
} if
0 height lineto
stroke
divs 0 translate
/index index divs add def
} repeat
grestore
gsave
% currentlinewidth currentdash
% initgraphics
% setdash setlinewidth
height divs div cvi
/index divs def
0 divs translate
{ newpath
0 0 moveto
labels {
gsave
20 0 moveto
index emptystr cvs show
grestore
} if
width 0 lineto
stroke
0 divs translate
/index index divs add def
} repeat
grestore
} def
save
/Helvetica findfont 10 scalefont setfont
/inch {72 mul} def
1 setlinewidth
8.5 inch 11 inch 100 true graph
[3] 0 setdash
25 setlinewidth
8.5 inch 11 inch 20 false graph
restore
showpage