Serious Problem with GridLines
- To: mathgroup at smc.vnet.net
- Subject: [mg79704] Serious Problem with GridLines
- From: "David Park" <djmpark at comcast.net>
- Date: Thu, 2 Aug 2007 03:50:48 -0400 (EDT)
Pre-Version 6 Mathematica had an obscure option AxesFront that was buried in
the Graphics`FilledPlot` package. This option, when set to True, would
ensure that both the axes and any GRID LINES were always in front of any
other graphics. I always thought that they should make AxesFront a general
Graphics option.
What WRI did instead, in Version 6, is automatically ensure that axes (along
with their ticks and labels) are always in front and they let GridLines take
the hindmost. There is no longer any (simple) way to force grid lines to be
in front.
In the documentation they state: "In some plots, grid lines can be
completely occluded by the image. Mesh can be used instead, to place the
lines above the graphic." But this will only work for plots like
DensityPlot. Generally, Mesh is no substitute at all for GridLines. Consider
the following plot:
ListLogPlot[Table[PartitionsQ[n], {n, 50}],
Filling -> Bottom,
FillingStyle -> Lighter@Orange,
Joined -> True,
Frame -> True,
Mesh -> True,
GridLines -> Automatic,
GridLinesStyle -> LightGray]
Using Mesh only puts dots along the curve. We could obtain a partial
solution by using Opacity on the filling along with darker grid lines:
ListLogPlot[Table[PartitionsQ[n], {n, 50}],
Filling -> Bottom,
FillingStyle -> Opacity[0.6, Lighter@Orange],
Joined -> True,
Frame -> True,
GridLines -> Automatic,
GridLinesStyle -> Gray]
but I prefer to keep the grid lines quite faint.
If we are to lose the choice then it would be much better if GridLines were
treated the same as Axes and were always automatically in front.
--
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/