Locking in place a collapsed group

Feb 10, 2012 at 4:37 PM
Edited Feb 10, 2012 at 4:37 PM

Currently I am trying to plot this graph of trade between clients and vendors. I want to quickly observe clustering among vendors who serve primarily one client industry. For this i collapsed the client node by industry. I would like to fix the position of the collapsed client groups and layout the vendor nodes again. I am unable to find a direct way to lock the collapsed group in position.

The current work around I use is to move the collapsed groups to a corner of the window, select all the other vertices and then chose the option layout the selected vertices. But I don't think the layout algorithm is doing what it is supposed to do when I chose this work around.

Any suggestions?



PS: I do not see any related conversations except this (http://nodexl.codeplex.com/discussions/269843) on how to layout collapsed groups

Feb 10, 2012 at 4:43 PM


Thank you for the interest in NodeXL!

I am uncertain that I can answer this properly or that NodeXL can do what you want just yet. But one thought is that setting "Layout" to "None" in the NodeXL Graph Pane could help.

A similar request came recently, suggesting we may need to implement the Vertex level "Locked?" feature for Collapsed Group meta-nodes.

Could you create a few screen shots of your workflow and sketch in what your desired results are? 



Feb 23, 2012 at 12:52 PM
Edited Feb 23, 2012 at 12:57 PM

HI Marc,

I never got around to creating screenshots and now the dataset got corrupted (due to other reasons). Let me explain the objective and perhaps you have a workaround for it. What I am trying to do is create a graph that kind of looks like the drawing below. The large colored spheres are the client firms grouped by industry. The little circles are vendors that service one or more clients. I want to fix the position of the spheres but layout the position of the circles.



Hope that helps


UPDATE: i suspect i can neither add an attachment nor can I paste a picture here so please try this link for a picture http://dropmocks.com/mBgpzH 


Feb 23, 2012 at 4:21 PM

You can't add an attachment on NodeXL's Discussions tab, and your http://dropmocks.com/mBgpzH link does not work if you are not logged in as a Google user, which I am not.  If you could create a new "Issue" on NodeXL's Issues tab at http://nodexl.codeplex.com/workitem/list/basic, that tab will let you add an attachment.  You don't need to explain anything in the Issue; we'll know what it is.


Feb 24, 2012 at 5:21 AM

I can now see the image you posted at http://nodexl.codeplex.com/workitem/22276.  It looks like you have a number of collapsed groups, along with a bunch of ungrouped vertices.  You say that you want to lock the collapsed groups in place and lay out the ungrouped vertices.

I'm afraid I have only a partial solution.  First, to lay out the collapsed groups, if you haven't already done that manually:

1. Select NodeXL, Analysis, Groups, Select All Groups.

2. Select a layout algorithm at NodeXL, Graph, Layout.

3. At the top of the graph pane, select Lay Out Selected Vertices Again.  It's hidden in a drop-down menu, below "Lay Out Again."  That will lay out the collapsed groups using the selected layout algorithm while leaving the ungrouped vertices in place.

Next, to lay out the ungrouped vertices:

4. Right-click the graph pane and select Toggle Selection.  That will select the ungrouped vertices and deselect the collapsed groups.

5. Select a layout algorithm.

6. Select Lay Out Selected Vertices Again.  That will lay out the ungrouped vertices using the selected layout algorithm while leaving the collapsed groups in place.

This is only a partial solution, because the positions of the collapsed groups will not be preserved if the workbook is saved and reopened.  You can lock the ungrouped vertices in place before the workbook is saved, but you cannot currently do the same for collapsed groups.

If this sequence doesn't work for you, tell me which step is failing (apart from the save/reopen shortcoming I noted).  It worked for me when I tried it.

-- Tony