A New Autscale Axis Flag

jjweimer
jjweimer's picture
Posts: 739
Joined: 2007-08-14
Location: United States

I would find it useful to have a SetAxis/A=3 flag that will autoscale based on only those traces that are visible on the graph.

In my application, I have a graph of N traces, and I set all but one of them as hidden (ModifyGraph hideTrace=N). I can define the hidden state of those traces I want to hide as N=1 or N=2. This controls how the graph ordinate autoscales with regard to the remaining (visible) traces. With a bit of programming, I created a way to step through traces either scaled to all existing traces or autoscaled each in its turn.

Unfortunately, I found the SetAxis/A=1 and SetAxis/A=2 flags behave exactly the same way with regard to "hidden" traces. To do what I wanted, I had to use a clever combination of ModifyGraph hideTrace as well as manual query of the TraceNameList with resetting of the hideTrace state on the trace(s) I wanted to "keep".

Here is a short example of the application.

Using hideTrace

    ModifyGraph hideTrace=2 // hide all traces
    ModifyGraph hideTrace(wave0)=0  // graph autoscales based on all traces on it
    ModifyGraph hideTrace=1 // hide all traces
    ModifyGraph hideTrace(wave0)=0  // graph autoscales using wave0 scaling

Using SetAxis/A=3

    ModifyGraph hideTrace=2 // hide all traces
    ModifyGraph hideTrace(wave0)=0  // graph autoscales based on all traces on it
    SetAxis/A=3 left  // autoscale graph back using visible (wave0) scaling

--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAHuntsville


[ last edited June 9, 2009 - 12:45 ]

Back to top