How can I convert a log axis scale with a negative offset?

I have a puzzler problem. I have a left axis set from 2 x 1011 to 1 x 1012. It runs on a log scale view. I have a function that returns values of -0.31 (top) and 0.97 (bottom) for the two extrema of the left axis. I want to add those conversion calibration values on a right axis. The right axis also has to run on a log scale.

How can I do this?

I am wrapping my head around the complexities of using log or loglinear axis settings, offsetting the scales on the right axis, creating manual ticks and labels, or using some variation of transform axis.


Suppose that the left axis value is LAV. The conversion equation to obtain the right axis value RAV is

     RAV = (LAVo - LAV)/LAVo

where LAVo is around 7.6 x 1011. My data is nicely displayed within the lower to upper bounds given above. So, I cannot just shift the left axis to avoid the negative values on the transformation for the right axis.

What is LAV? Is it log(some quantity)? Or is it distance along the axis in some sort of units (which would mean it is proportional to log(value))?

If the inputs to the equation are log values, the RAV seems like it is also a log value. If you want to use Igor's log axis, you may need to plot 10^RAV.

Or perhaps I have misunderstood something...

I resolved it. Suppose that you have y-values that range from 2E10 to 8E11. Suppose that you have an equation as:

f = (7E11 - y)/7E11

Here is the basic approach.

* The left axis is set from 10E10 to 10E12 on a log scale

* The right axis is set form 1 to 100 also on a log scale

* Use wave/N=10 for user defined tick marks and labels.

* Set the tick labels as 0, 0.1, 0.2, ... 0.9

* Set the tick location values to (70 - 70*(p/10))

Here is my graph. Note that this graph is NOT using the numbers above, just the approach. Also, by good fortune, when I got around to re-scaling my graph, the problem with negative values on the log axis disappeared.

revised plot (125.49 KB)