Function to Flip Trace Order in Graph
Hi all,
I wrote a small function to flip the order of traces in a graph:
Function FlipTraceOrder() String Traces = TraceNameList("",";",1) Variable NumTraces = ItemsInList(Traces) String NewList = "" Variable i For(i=0;i<NumTraces;i+=1) String CurrentTrace = StringFromList(NumTraces-i,Traces) NewList = AddListItem(CurrentTrace,NewList) EndFor ReorderTraces $StringFromList(0,Traces),{$NewList} End
However, when I display a bunch of traces on a graph and then run this, it gives me the error, "error: trace is not on graph."
...except that it is. You know how I know for certain that it is? I pulled it directly from a list of the traces on this very graph using the "TraceNameList()" command at the beginning of the function.
Any ideas as to what I've done wrong?
Thanks!
-Will
Small update: changing the separator to "," instead of ";", as expected by ReorderTraces, does not seem to impact this problem.
November 20, 2025 at 09:43 am - Permalink
Try this instead.
The trick is to convert the list of traces into {...} not {"..."}. This change demands Execute.
November 20, 2025 at 04:50 pm - Permalink
To give a bit more context: Yes, you basically have to do it like JJ mentioned to reorder a list in one go. Note that in this case the number of items in the list is limited to 100 traces (the last time I checked). The issue with your code is that you try to feed in a string list via the $ prefix. This does not work, since it converts what ever is inside the string to a single reference (to a trace in this case). So a trace with the same name as you whole list content is obviously not in the graph. You could write a for loop to feed in single trace names this way to iteratively resort. However, the for-loop approach does not go well with trace instances, since the numbering gets updated each time the reordering is done.
November 20, 2025 at 11:02 pm - Permalink
Right- the way instance numbers work, the "name" of a trace can change if you move a trace forward or backward past another trace with the same name. We just recently fixed the command generation for the Reorder Traces and Reorder Images dialog to take changing instance numbers into account. That only took, like, 20 years or so 😬
November 21, 2025 at 09:57 am - Permalink