Re: GridLines in LogLogPlot
- To: mathgroup at christensen.cybernetics.net
- Subject: [mg840] Re: GridLines in LogLogPlot
- From: cal at star.stanford.edu (Calvin Teague)
- Date: Tue, 25 Apr 1995 02:21:26 -0400
- Organization: Stanford University
In article <3n4mqg$q7o at news0.cybernetics.net>, sergio at shark.inst.bnl.gov (Sergio Rescia) wrote: > Dear Mathgrouper, > > Please take a look at the attached graphics file (It is a LogLogPlot: it needs > Graphics`Graphics` to display). [omitted] > > The grid lines at the bottom, horizontally are wrong. > > There are correctly grid lines at y=2. 10^-6 and 5. 10^-6. > I would expect two more grid lines at y=3. 10^-6 and y=4. 10^-6. Instead there is only a single > grid lines which turns out to be at y=3.5 10^-6. > > This is mathematically correct, of course, but nevertheless it is very confusing > when showing this kind of plots to an engineering audience. > > Is there a fix to allow for grid lines in a 2-3-4-5...or possibly a 2-5-10 sequence in a LogLogPlot? I noticed similar behavior with LogLogPlot. The problem appears to involve rounding in a floating-to-integer conversion. After much tracing, I was able to correct it by adding a very small bias (10^-($MachinePrecision-1)) to the argument of Floor[] in the function MinorAux1[] in my copy of Graphics.m as follows: Change MinorAux1[x_] := Module[{n=Floor[ x/10^Floor[ Log[10., x]]]}, If[ n < 1, {1,1}, {x/n, n}] ] to MinorAux1[x_] := Module[{n=Floor[ x/10^Floor[ Log[10., x]] + 10^-($MachinePrecision-1) ]}, If[ n < 1, {1,1}, {x/n, n}] ] I can't guarantee that this will work in all cases, but it did work for the cases that I tried (involving similar small values for the variables plotted). Calvin Teague, cal at star.stanford.edu