RE: Log plots: plot points *linearly* equidistant
- To: mathgroup at smc.vnet.net
- Subject: [mg31640] RE: [mg31624] Log plots: plot points *linearly* equidistant
- From: "Wolf, Hartmut" <Hartmut.Wolf at t-systems.de>
- Date: Fri, 23 Nov 2001 05:46:03 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
> -----Original Message----- > From: Primoz Peterlin [mailto:primoz.peterlin at biofiz.mf.uni-lj.si] To: mathgroup at smc.vnet.net > Sent: Sunday, November 18, 2001 12:29 PM > To: mathgroup at smc.vnet.net > Subject: [mg31640] [mg31624] Log plots: plot points *linearly* equidistant > > > Hello, > > Browsing through the archives, I have seen this question coming up > recurringly at least since 1995, but with no satisfactory answer... > > The problem is that LogLinearPlot and LogLogPlot functions > evaluate plot > points at values which are *linearly* equidistant on the x-axis, not > logarithmically. Why this is erroneous can be seen on a > simple example: > > Needs["Graphics`Graphics`"] > LogLinearPlot[UnitStep[x - 1], {x, 0.01, 1000}] > > As far as I know, there are two ways of avoiding this behaviour: > > a) setting PlotDivision option to higher, often prohibitively high > values, > > b) evaluating one's own list of {x,} pairs and using LogLinearListPlot > or LogLog > ListPlot to plot it > > The first solution is slow and inefficient, the second one is > cumbersome. Has nobody so far been annoyed by the LogLinearPlot > behaviour enough to actually rewrite it in a decent way? :) > > With kind regards, > Primoz > > -- > Primo¾ Peterlin, In¹titut za biofiziko, Med. fakulteta, Univerza v > Ljubljani > Lipièeva 2, SI-1000 Ljubljana, Slovenija. > primoz.peterlin at biofiz.mf.uni-lj.si > Tel: +386-1-5437632, fax: +386-1-4315127, > http://sizif.mf.uni-lj.si/~peterlin/ > Hello Primoz, (c) e.g.: Plot[UnitStep[10^y - 1], {y, -2, 3}, Ticks -> {LogScale[-2, 3], Automatic}] just replace your variable and range as expressend by the logarithms, and set corresponding tick marks! Along this line you can easily write your own version of LogLinearPlot; transforming the tick marks might be a bit tricky to cover all cases. However, it is not neccessary to do so (and perhaps thus has not been done). Hartmut