Overlaying a grid on graphics to guide placement
- To: mathgroup at smc.vnet.net
 - Subject: [mg73785] Overlaying a grid on graphics to guide placement
 - From: "Michael A. Gilchrist" <mikeg at utk.edu>
 - Date: Wed, 28 Feb 2007 04:36:40 -0500 (EST)
 
Hi,
I'd like to develop a function which overlays a grid on a graphics such as 
a plot to help with the placement of additional graphics object through 
things like Epilog or Prolog.
I've taken a stab at it below,
(*construction of grid*)
imax = jmax = 4;
step = 0.25;
hlines =
     Table[{If[j == 0., Black, LightGray],
         Line[{{-imax, j}, {imax, j}}]}, {j, -jmax, jmax, step}];
vlines =
     Table[{If[j == 0., Black, LightGray],
         Line[{{ j, -imax}, {j, imax}}]}, {j, -jmax, jmax, step}];
hlabels = Table[Text[j, {j, 0}, {1, 1.1}], {j, -jmax, jmax, 1}];
vlabels = Table[Text[j, {0, j}, {1.1, 1}], {j, -jmax, jmax, 1}];
grid = Join[hlines, vlines, hlabels, vlabels];
(* ooh it looks good on its own*)
Show[Graphics[grid]]
(*not so good here*)
LogLogPlot[Exp[-x + 1], {x, 0, 1},
   Epilog -> grid]
Plot[Exp[-x + 1], {x, 0, 1},
   Epilog -> grid]
Show[GraphicsArray[{
       {LogLogPlot[Exp[-x + 1], {x, 0, 1},
           DisplayFunction -> Identity]},
       {Plot[Exp[-x + 1], {x, 0, 1},
           DisplayFunction -> Identity]}}], Epilog -> grid]
If you run these commands you'll see that my attempt is inelegant and it 
doesn't work very well.  Ideally, the grid would (a) adjust itself so that 
its boundaries are within the graphics object and (b) adjust the spacing 
and labeling so that the grid lines are frequent enough to be informative 
but not obscure the entire figure.
If any one has any suggestions I'd greatly appreciate hearing them.
Thanks in advance.
Mike
-----------------------------------------------------
Department of Ecology & Evolutionary Biology
569 Dabney Hall
University of Tennessee
Knoxville, TN 37996-1610
phone:(865) 974-6453
fax:  (865) 974-6042
web: http://eeb.bio.utk.edu/gilchrist.asp
-----------------------------------------------------