Creating different graphs using NodeXL template

Dec 31, 2013 at 5:57 PM

Please guide me the steps to create the graphs available in the below gallery link using NodeXL Excel template,

Also here are couple of queries,
1) I understand that NodeXL template(Excel) is created on top of NodeXL Class libraries and ideally any graphs created out of excel should be possible using the class libraries.
Note - we are trying to create a separate application using NodeXL control and NodeXL class libraries.
2) Currently we are seeing around 10 layouts supported in both NodeXL template and class libraries. Is these only supported currently? Any other possibility of creating other layouts? I understand from the NodeXL source that we can create own custom layouts. If so, please guide us the steps or provide any documentation to do the same.

Thanks in advance. Happy new year.
Jan 1, 2014 at 12:27 AM
On the Graph Gallery question, you would have to provide a link to a specific graph. There are a variety of graphs on the Gallery, created by different people using different techniques.

On the ability to create the same graphs in your own application that can be created in the Excel Template, that is mostly true, but there are a few exceptions where a feature was difficult to generalize within the NodeXL Class Libraries and was implemented in Excel Template code instead.

The supported layouts are implemented in the NodeXL\Layouts\Layouts folder. Each layout has a file named SomethingLayout.cs--GridLayout.cs, for example. Those are the only ones we provide. If you want to add your own, see the instructions at \NodeXL\Layouts\Layouts\HowToAddANewLayout.txt. You can ignore step 3 in the instructions if you are implementing your own application, as step 3 pertains to the Excel Template application.

-- Tony
Jan 1, 2014 at 4:43 AM
Thanks Tony for the quick response.

Here are some of the graphs that I am looking for

Also can you please provide more details about a feature that was difficult using NodeXL Class libraries.

It seems we can customize the layout by creating a new one using the steps provided in the text file. How about the coding complexity of creating a new layout with a new algorithm probably? Small or medium or complex ??
What are the other considerations(if any)? Any detailed documentation available ? if so, please share it.
Jan 2, 2014 at 4:20 PM
Edited Jan 2, 2014 at 6:05 PM
The first graph was created by Marc Smith. If he is reading this, perhaps he can tell you something about how he created it. The second graph was created by an unknown guest, but I can tell that the distinctive feature of that graph--the curved edges--were created by right-clicking the graph pane, selecting Graph Options from the right-click menu, selecting the Edges tab in the Graph Options dialog box, and setting the Curvature to Curved.

An example of a feature that is not fully supported in the NodeXL Class Libraries is motif groups (NodeXL, Analysis, Groups, Group by Motif in the Excel ribbon).

The coding complexity for the layout algorithms can range from small (RandomLayout.cs) to medium (FruchtermanReingoldLayout.cs) to complex (HarelKorenFastMultiscaleLayout.cs). It depends entirely on the algorithm.

If you derive a new layout class from LayoutBase, all you have to implement is the abstract LayoutBase.LayOutGraphCore() method, and the instructions for doing so can be found in the header comments for that method. The instructions can be summarized like so: Set the IVertex.Location property of each of the specified vertices.

-- Tony
Jan 2, 2014 at 5:51 PM

The details for most network graph datasets are included in the workbook linked from the bottom of each page. 
links to:

You can also find the "options file" - the recipe for processing the raw network data into its final form - linked from the bottom of the page as well:
Use this file via the NodeXL>Options>Import feature. Then run NodeXL>Graph>Automate>Run to apply the recipe to your data set.

-- Marc