OK, I'm stumped. I though that this was an easy request. This is what I cobbled together. It is getting hung up on the the reorderTraces line with an error that trace is not on graph which I take to mean that the string variable is not being taken properly. When I add some print statements the string list is as expected and if I run from the command line the sorted list that has been copied and pasted it produces the desired outcome.
Function ReorderTracesAN()// Get a list of tracesString visibleTraces=TraceNameList("",",",1+4)// only visible normal traces//Sort that list to be alphanumeric
visibleTraces = SortList(visibleTraces,",",16)// 16: Case-insensitive alphanumeric sort that sorts wave0 and wave9 before wave10 //Before we do the reorder command we need to remove the last comma (list seperator) from the string list
visibleTraces = removeending(visibleTraces)// reorder the traces assuming Igor Pro 7 using the _front_ keywordReorderTraces _front_, {$visibleTraces}// this gives an error hereEnd
Wouldn't it be nice if that worked? But you can't turn a *list* into names with $, only single names. So this is one of those places where you probably really still need to use Execute, like this:
Function ReorderTracesAN(gname)String gname
if(strlen(gname) == 0)
gname = WinName(0,1)endif// Get a list of tracesString visibleTraces=TraceNameList(gname,",",1+4)// only visible normal traces//Sort that list to be alphanumeric
visibleTraces = SortList(visibleTraces,",",16)// 16: Case-insensitive alphanumeric sort that sorts wave0 and wave9 before wave10 //Before we do the reorder command we need to remove the last comma (list seperator) from the string list
visibleTraces = removeending(visibleTraces)// reorder the traces assuming Igor Pro 7 using the _front_ keywordString cmd = "ReorderTraces/W=" + gname + " _front_, {" + visibleTraces + "}"Execute/Q cmd
End
Note that I have also added an input, gname, to make the whole thing a bit more robust.
Andy
November 11, 2016 at 06:46 am - Permalink
Note that I have also added an input, gname, to make the whole thing a bit more robust.
John Weeks
WaveMetrics, Inc.
support@wavemetrics.com
November 11, 2016 at 10:44 am - Permalink
November 17, 2016 at 03:58 am - Permalink