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 -----------------------------------------------------