Does anyone have a function to create a set of chart axis labels for a natural logarithm scale given minimum and maximum scales?

What chart system are you using?

There are a number of them, or if you’re rolling your own you’ll have to come up with something that works for you.

With ChartDirector MBS you can setLogScale

I am using ChartDirector, but I cannot use their log scale because I need the x-axis to be ln(x-x0) as opposed to ln(x). Any help would be greatly appreciated.

I have this for a scale with equally spaced ticks

Dim range as double

dim tickSpacing as double

dim tickValues() as double

dim niceMin as double

dim niceMax as Double

dim i as int8

Dim a as double

range = niceNum(maxPoint - minPoint, false)

tickSpacing = niceNum(range / (maxTicks - 1), true)

niceMin =floor((minPoint / tickSpacing) * tickSpacing)

niceMax =ceil((maxPoint / tickSpacing) * tickSpacing)

While a < niceMax

a = niceMin+tickSpacing*i

i = i + 1

tickValues.Append(a)

wend

return tickValues

But it looks bad for a log scale because the ticks are no longer equally spaced

Do you have a sample project showing the issue?

Max = 2000

Delta = 500

For i = 0 to 200

y = log(log(1/(1-MR(i))))

x = log(x(i)-Delta)

next

I want to plot on transformed axes, but with the tick labels in untransformed values. I can easily do this in ChartDirector, but I cannot determine tick values that are round numbers with nice spacing.