Apply an operation to graph axis labels
marcel gateau
Is there a way to apply an operation to the axis graph labels? For example, instead of having the y values on the y axis, display y-offset (and have ticks at "simple" values).
Forum
Support
Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More
I'm not sure exactly what you mean by "y-offset". Perhaps you mean that you have some constant y0 and you would like the tick labels to reflect y-y0 rather than y. If that is the case, you can set the offset as a trace property. Bring up the Modify Trace Appearance dialog. Turn on the Offset checkbox, then enter you y0 as the Y value in the disclosed edit boxes.
That gives you the particular case you mention. In general, if you have Y data, but you want the axis to reflect some f(y), you can use the Transform Axis package. To access Transform Axis, select Graph->Packages->Transform Axis. It's a complicated package, and some f's can be quite challenging. See the demo experiment under File->Example Experiments->Graphing Techniques->Transform Axis Demo.
You can also use User Ticks from Waves to have ultimate control over the ticks and tick labels. In fact, Transform Axis does that. Read about it: DisplayHelpTopic "User Ticks from Waves"
February 13, 2020 at 09:44 am - Permalink
In reply to I'm not sure exactly what… by johnweeks
Thanks a lot for this quick answer. I agree that applying an offset to the trace is one way around, but this is not very convenient when there are many traces in the same plot. I had also looked into the Transform Axis package, but it is much too complicated for such a simple operation. "User Ticks from wave" is probably the best way around, thanks for the suggestion.
For a next version of Igor, it would be nice to have the possibility in the "Auto/Man ticks" tab to set an offset and/or a multiplier, as can be done for individual traces.
February 14, 2020 at 12:54 am - Permalink
In reply to Thanks a lot for this quick… by marcel gateau
Hmm, adding an easy way to do something that, while simple, is unusual and potentially confusing and misleading is maybe not ideal.
- edited to remove pointless code
February 14, 2020 at 06:18 am - Permalink
In reply to Hmm, adding an easy way to… by tony
Actually, you can simply select all the traces in the modify traces dialog to do this*, so there's no point in adding a traces popup like I did above. It becomes more useful if you want to add offset increments, which is what that code originally did as part of a set of functions for manipulating offsets of many traces. The point is, it may not be so hard to work with trace offsets.
* or from command line: ModifyGraph offset={0,OffsetValue}
February 14, 2020 at 06:24 am - Permalink
In reply to Actually, you can simply… by tony
Great, this is the solution I needed! Thanks a lot.
February 14, 2020 at 08:56 am - Permalink