The Social Network Visualizer project released today a brand new version of our favorite social network analysis and visualization software application. SocNetV version 2.4, released on Feb 28, is a major upgrade bringing lots of new features. The new version is available for Windows, Mac OS X and Linux from the Downloads page.
Here's a brief discussion of the new features and changes of SocNetV version 2.4:
Kamada-Kawai layout model
In this model, the network is considered to be a dynamic system where every two actors are 'particles' mutually connected by a 'spring'. Each spring has a desirable length, which corresponds to their graph theoretic distance. In this way, the optimal layout of the graph is the state with the minimum imbalance. The degree of imbalance is formulated as the total spring energy: the square summation of the differences between desirable distances and real ones for all pairs of particles Initially, the particles/actors are placed on the vertices of a regular n-polygon
Node colors by prominence score visualization layout
Up to now, SocNetV could visualize actor prominence (centrality or prestige score) in radial, level and node size layouts. SocNetV v2.4 supports a node coloration layout, where the color of each node depicts its score in a user-selected Prominence index. Simply put, the color shows how important the actor is inside the network in terms of Centrality or Prestige.
To do this, SocNetV computes the prominence index scores of all actors and then changes the color of every node using the HSV color model. To be precise, different values of hue (from 0, which is absolute red to 240, which is absolute blue), are used according to the prominence score of each node. This way, the least important actors (the periphery) are colored blue while the most important ones (the core) are colored red. The prominence scores between these two corner cases follow the familiar color wheel. I.e. an actor colored yellow means it is more important than those colored blue, cyan or green but less important than the ones colored red. See color wheel example: https://upload.wikimedia.org/wikipedia/commons/a/a4/RGB_color_circle.png
Reciprocated edges in directed networks appear in a single line
Up to now, SocNetV displayed reciprocated directed edges between two actors A and B in two separate lines, one for the A -> B tie and another for the A <- B tie. That was problematic in terms of memory consumption (double edge graphic items) on very large directed nets. It also made the network visualization less attractive as the user was seeing double lines between nodes. From now on, SocNetV displays the reciprocated ties between actors in a single line with two arrows. On clicking a reciprocated edge, the Statistics panel displays info that this is a reciprocated edge along with the weights of both arcs.
If you right-click a reciprocated edge and select "Remove edge" or "Change Edge Weight" the application asks which of the two directed edges you want to remove/change, for instance "A --> B" or "B --> A".
Improved memory consumption
Previous versions of SocNetV used to consume a lot of RAM when loading very large networks (i.e. more than 2,000 edges). This version has been optimized to minimize memory consumption in those cases.
New options and features in web crawler.
Web crawler dialog and algorithm has been enhanced with nice new options and features. The user may now specify certain link patterns to include or avoid during parsing a web page. The crawler can also stop creating self-links, and wait for a random amount of msecs (0-1000) between connections.
Improved Statistics Panel
The LCDs in the statistics panel have been replaced by simpler strings which display the same statistics, plus with greater efficiency. For instance, when clicking on a reciprocated edge in a directed network, the Statistics panel displays the weights of both edge directions.
Performance options in Settings
New Performance options have been added in app Settings dialog (Canvas tab). The user may now select which features of the Qt GraphicsView will be enabled. Available options include pretty much all features of Qt GraphicsView, such as antialiasing, antialiasing auto-adjustment, smooth pixmap transformation, painter state saving, background caching, canvas update mode, canvas indexing method and edge highlighting. Of all these options, the latter (edge highlighting) has the most immediate effect on performance. Disabling edge highlighting in networks with thousands of edges will give a performance boost and make the interaction with the network quicker. Also, if you need max performance, we recommend disabling all checkboxes.
Improved UCINET format support (fullmatrix two-mode and edgelist)
SocNetV can now read two-mode UCINET files formatted in fullmatrix format. That is files that declare both NR and NC variables. For instance, a file that declares a two-mode sociomatrix of NR actors and NC organizations. Work will be done in future versions to let the user select if she wants one-mode or two-mode data visualization.
At the moment, the two-mode network is visualized as follows:
First, for every row in the fullmatrix, a node i is created numbered 1:NR
Then for each column another node j is created, numbered NR:NC.
Thus, the two mode network consists of a total of NR+NC nodes.
For each non-zero (i,j) element of the fullmatrix, an edge from actor i to organization j is created. Also, the application can now import edgelist1 formatted UCINET files which were exported from R's sna package.
Many bugs* have been fixed and random crashes were resolved. See fixed bugs below for more.
* Bugs Fixed and closed:
#40: Wrong BC scores when the network is weighted
#54: Using 1 as weight even after saying yes to weight dialogs in some cases
#38: Disabling isolate nodes has no effect in distance matrix report
#41: Wrong variance value in clustering coefficient (in repeated computations)
#33: Missing Radial/Level Layout by Eigenvector Centrality
#48: Eccentricity scores should be infinite for those nodes which are either isolated or
cannot reach some other node. Nodes which can reach all other nodes should have
#34: Menu options to apply Node Size layout by Prominence index
#56: Edges do not offset from source/target node when node changes size
#46: (regression) crashes on distance matrix after disabling isolates
#42: Proper progress dialogs
#44: Crash on second search after node removal
#24: No Performance options in Settings
#51: Web crawler: Fix random crashes
#60: Wrong filename extension when saving an automatically generated famous data set
#61: The "Save As" method does not always save networks in graphml format
#62: Some "edgelist1" formatted UCINET files are not recognizable
#63: Two-mode UCINET files are not supported
#65: Crash when doing Hierarchical Cluster Analysis with ill-defined input matrix
#36: Crashes on HCA with isolated nodes
#49: Connectedness method sometimes returns default result
#47: Extra columns displayed in Adjacency Matrix report when the user has disabled nodes.