Dynamic degree

Jul 24, 2013 at 3:58 PM
Is NodeXL able to calculate degree of selected nodes? For example if I'm using degree value as size of the node, and I visualize vertexes just from one category, can I recalculate new degree somehow?
I want to make visualization for each category and groups of categories (based on values in certain column or groups) where node size would be equal to actual degree, not just overall degree.

Jul 25, 2013 at 12:39 AM
When NodeXL calculates degree, it looks at every vertex and edge in the graph. It doesn't do the calculations on a per-group basis.

You could export a group to a new workbook and have NodeXL calculate degree in the new workbook. That could be pretty tedious is you have a lot of groups, but here are the steps anyway:
  1. Select the group you are interested in. One way to do that is to select a row on the Groups worksheet, which will select all the vertices and edges in that group.
  2. Use NodeXL, Data, Export, Export Selection to New NodeXL Workbook.
  3. In the new workbook, use NodeXL, Analysis, Graph Metrics to calculate degree for the vertices in the exported group.
-- Tony
Jul 25, 2013 at 5:58 PM
tcap479 wrote:
When NodeXL calculates degree, it looks at every vertex and edge in the graph. It doesn't do the calculations on a per-group basis.
I think it doesnt work like that. It does not look what is in the graph. If I visualize just some of the records the degree would be still the same. It calculates it from whole table.
Anyway thanks for advice, I was hoping there is a faster way to do that. I was doing that like this, but it's just awful...
Jul 25, 2013 at 6:14 PM
Actually right now, it calculates me In and Out degree on basis of graph. So I can just sum them together.. It kinda works...
Jul 25, 2013 at 7:06 PM
Edited Jul 25, 2013 at 7:06 PM
Yes, it does work like that. It reads the workbook, creates a graph from the workbook's contents, and looks at every vertex and edge in the graph.

I do not know what you mean by visualizing just some of the records, so maybe we're just using different terminology here.

-- Tony
Jul 26, 2013 at 7:55 PM
Tony, Having the ability to have the degree of just a subset of the graph would be incredibly useful. In addition to degree by group, I am thinking of degree by what's showing on the graph. Could that be added as a future feature? Peter
Jul 27, 2013 at 4:51 AM
Edited Jul 27, 2013 at 4:51 AM
Welcome back, Peter:

Yes, I can see how that would be very useful. I'm not sure how it would work, though. Would the subset be that part of the graph that is selected--that is, the red vertices and edges, assuming you haven't changed the default selection color?

vitekmaca, is that what you meant by "visualizing some of the records"? Are you referring to the part of the graph that is selected?

-- Tony
Jul 29, 2013 at 3:03 PM
I have a network where edge width represents frequency of interaction between nodes (I have 5 classes there) and I want to visualize just edges with frequency 1, second chart with freq 2,3,... Thats one part.
Second - node size would be degree in one case, betweeness in second and centrality in third.
It means 5 charts for each measure, together 15.
Right now I have to filter edges with certain frequency, same with nodes, then calculate metrics, change size parameter to new numbers, vizualize and export picture. And do the same 15 times..At the beginning I was thinking to have more frequency classes, but this is just so much time and patience consuming...
So I'm just wondering if there is fastest way how to do that...
Jul 29, 2013 at 4:04 PM

I can't think of a faster way to do that.

I believe Peter was seconding your request for an easy way to perform operations on a subset of the graph. NodeXL doesn't offer that today.

-- Tony
Aug 1, 2013 at 3:56 PM
Hi Tony, The way a dynamic degree option would work for me would be: For a group, calculate the in and out degree of only those edges originating and terminating at nodes within the group. And, when I am using the dynamic filter on the entire graph, show
just the edges that originate and terminate at those nodes that appear on the graph itself. For example, my data include an attribute for "like." The value ranges from 1 to 5 ("dislike intensely" to "like very much"). I want to know for instance, how many
subjects "like very much" a particular node, and how many nodes that particular node "likes very much." I can show this on the graph by using the dynamic filter (a great feature, btw). Would this be possible to do without great effort on your part? Thank you.
Aug 3, 2013 at 3:51 PM
Hi, Peter:

I'm not sure when we'll have a chance to get to it, but I've added your suggestion to our feature request list. Being able to perform operations on just a subset of the graph sounds like a useful feature.