Question: removing graphically several traces from graph

hi everybody,

i have a graph with more than 1000 traces

i have grouped them in several groups, i did that manually on the graph: dragging each curve to a specific group to classify them.

My problem is the next one:

i only want to work with one of the group each time, that means that i need to eliminate manually 900 traces if the group that i want to work with has 100 traces. and i need to do that from the graph window. doing that using the graph window is really time consuming because i need to step on over each trace and remove it from the graph and do that 900 times.

question:

there is any tool or program that allow me to select several traces in the graph and eliminate those selected traces from the graph. everything should be graphically because every group was made dragging curves.

a small example:

in the file there is a graph called deflection, there is three groups that were made dragging curves, i want to work with one group at one time, that means eliminate the other two groups and i want using the graph window.

thanks for all your help guys
Not sure if I really understand what you're trying to do but my approach would be to organise your waves in different datafolders according to your groups. Then you can run user-defined functions, e.g. something like that to display the waves or to do anything else with it.

function DoSomething(df)
    string df
   
    String CurrentDF = GetDataFolder(1)
    SetDataFolder $df
   
    String AllWaves = WaveList("*",";","")
    String CurrentWave = ""
    Variable i
       
    do  
        CurrentWave = StringFromList(i, AllWaves)
        if (Strlen(CurrentWave) == 0)       // no more waves
            break
        endif
       
        if (i==0)
            Display $CurrentWave
        else
            AppendToGraph $CurrentWave
        endif
        i +=1
    while(1)
   
    SetdataFolder $CurrentDF
end
what i want is to erase a group of traces from the graph at the same time.

imagine i want to work with the group that is in the top position (group 1 of 3), what I do for that is the next:
I step on in a curve of the other two groups (group 2 or 3), make right click and select remove "wave name" from the pop-menu. and i do that for every curve of the other two groups until i only have the traces of top group (group 1). to understand better check the image i posted in the first message.

lets say that there is in total 90 curves. the group 1 has 30, the group 2 has 20 and the group 3 has 40. what i do is erase manually the 20 curves of the group 2 and then the 40 of the group 3, one by one in each case. that means erase curve by curve 60 times and i have to that on the graph because the curves does not have a pattern in name only with the shape and i already classified them dragging one by one to different groups (each group is put together based on the shape of the trace), and i only check the shape on the graph. as long i work with groups of 1000 traces each one, i have spent hours eliminating curves one by one until i only have the group i want.

what i want, is a tool that allows me manually select several traces form a graph (in this case all the traces that belong to the group 2 and 3) and delete them from the graph to have only the group one on the graph, because is the one that important to me. but i only know which group is important to me after i classify the groups by shape.

i hope there is something like this,

cheers,

carlos
I have posted a snippet that makes a list of all traces that have points that fall within the graph marquee. The snippet includes an example function that uses the list to color those traces. You could instead use the hideTrace keyword to ModifyGraph, although that would make it hard to find them afterward :)

http://www.igorexchange.com/node/1500

John Weeks
WaveMetrics, Inc.
support@wavemetrics.com