SocNetV supports two kinds of network visualizations: By Prominence index and Force-Directed.
You can select visualizations from the menu "Layout" or by clicking on the checkboxes on the left dock.
SocNetV implements algorithms to layout the network so that each node takes
a position that reflects its centrality or prestige status inside the network.
These algorithms supports all prominence indices and a variety of layout types (circular, level, nodal).
In the left dock choose a prominence index, a layout type and then press the Apply button.
Please note that these algorithms do not take care of crossing links.
They are only meaningful as a visual representation of the status of each node.
If you select circular layout type, all nodes will be repositioned on the circumferences of
concentric circles of different radiuses.
Nodes with higher centrality or prestige are positioned closer to the centre of the screen.
If you select the "on levels" layout tupe, all nodes will be repositioned on levels
of different height.
More central nodes will appear towards the top of the screen.
In this layout type, the size of each node will change to reflect its centrality or prestige score.
You can apply this layout type along with circular or level layout for a more meaningful visualization.
The Spring Embedder model (Eades, 1984), part of the Force Directed Placement (FDP) family,
embeds a mechanical system in the graph by replacing nodes with rings and edges
with springs which excert forces. In the words of Eades himself:
"The basic idea is as follows. To embed [lay out] a graph we replace the
vertices by steel rings and replace each edge with a spring to form a
mechanical system . . . The vertices are placed in some initial layout and
let go so that the spring forces on the rings move the system to a minimal
energy state."
In our implementation, nodes are regarded as physical bodies (i.e. rings) which exert
repelling forces to each other, while edges become springs which excert attractive forces.
These forces are applied to the nodes iteratively, pulling them closer together or pushing them further apart,
until the system comes to an equilibrium state (node positions do not change anymore).
Note that, following Eades, the forces of springs do now follow Hooke'w Law.
Instead we assume weaker logarithmic forces between pair of vertices v and u:
AttractiveForce= c_spring * log10 ( distance(v,u) / naturalLength )
RepellingForce = c_rep / (distance(v,u) * distance(v,u) );
where
naturalLength= vertexWidth + Sqrt( screenArea / |Vertices| )
c_spring=2
c_rep=1;
Note: Repulsive forces are calculated between every pair of
vertices, but attractive forces are calculated only between neighbours.
Fruchterman and Reingold (1991) refined the Spring Embedder model by replacing
nodes with electrically charged or gravitational bodies.
In their words:
"Consider the following analogy: the vertices behave as atomic particles or celestial
bodies, exerting attractive and repulsive forces on one another; the forces induce
movement. Our algorithm will resemble molecular or planetary simulations, some-
times called n -body problems. Following Eades, however, we know that we need
not have a faithful simulation; we can apply unrealistic forces in an unrealistic
manner. So, like Eades, we make only vertices that are neighbours attract each
other, but all vertices repel each other. This is consistent with the asymmetry of our
two guidelines above."
Again, only neighbouring vertices attract each other while all vertices repel each other.
In our implementation the attracting and repulsive forces are computed as follows:
AttractingForce = ( dist(v,u) * dist(v,u) ) / optimalDistance
RepulsiveForce = (optimalDistance * optimalDistance / dist(v,u))
where
optimalDistance= sqrt ( screenArea / |Vertices| )
Following Fruchterman and Reingold, for every vertex v we compute repulsive forces
only for vertices within a circular area of radius 2*optimalDistance from v.