Social Network Visualizer (SocNetV) is a cross-platform, user-friendly free software application for social network analysis and visualization, developed in C++/Qt.
With SocNetV you can:
- Draw social networks with a few clicks on a virtual canvas, load field data from a file in a supported format (GraphML, GraphViz, Adjacency, EdgeList, GML, Pajek, UCINET, etc) or crawl the internet to create a social network of connected webpages.
- Edit actors and ties through point-and-click, analyse graph and social network properties, produce beautiful HTML reports and embed visualization layouts to the network.
- Standard graph and network cohesion metrics, such as density, diameter, geodesics and distances, connectedness, eccentricity, clustering coefficient, etc.
- Matrix routines: Adjacency plot, Laplacian matrix, Degree matrix, Cocitation, etc
- Advanced measures for social network analysis such as centrality and prestige indices (i.e. eigenvector and closeness centrality, betweenness centrality, information centrality, power centrality, proximity and pagerank prestige).
- Fast algorithms for community detection, such as triad census, clique census,etc.
- Structural equivalence analysis, using hierarchical clustering, actor similarities and tie profile dissimilarities, Pearson coefficients.
- Layout models based either on prominence indices (i.e. circular, level and nodal sizes by centrality score) or on force-directed placement (i.e. Eades Spring Embedder, Fruchterman-Reingold, etc) for meaningful visualizations of the social networks.
- Multirelational network loading and editing. Load a social network consisting of multiple relations or create a social network on your own and add multiple relations to it.
- Random network creation using various random network generation models (Barabási–Albert Scale-Free, Erdős–Rényi, Watts-Strogatz Small-World, d-regular, ring lattice, etc)
- Famous social network analysis datasets, i.e. Padgett's Florentine families.
- Built-in web crawler to automatically create "social networks" from links found in a given initial URL.
- Comprehensive documentation, both online and inside the application, which explains each feature and algorithm of SocNetV in detail.
Source code, packages and executables for Windows, Linux and MacOS are available from the project's website: http://socnetv.org
The program is Free Software, licensed under the GNU General Public License 3 (GPL3).
Version 2.2 - Jan 22, 2017 - Codename: "Beyond" 2 years ago
Version 2.2 - Jan 22, 2017 - Codename: "Beyond" 2 years ago
Version 2.0 - Sep 12, 2016 - Codename: "deep trouble, great fun" 2 years ago
* Major code overhaul for memory and performance optimization.
SocNetV 2.0 occupies less memory and executes most operations much faster than before.
Random network creation is faster and more reliable as many bugs have been fixed.
Network data loading from files has also been optimized for speed and efficiency.
* New GUI layout
There are no more tabs on the left side of the application window. Instead, the new GUI
offers two side panels along the main canvas. The left panel (called Control Panel) has
most edit, analysis and visualization options to be selected with one click. The right
panel (called Statistics Panel) shows basic information and statistics about the social
network and the active node, such as network type (undirected or not), network density,
node in-degree and out-degree and node clustering coefficient.
Furthermore, along the canvas there are two new sliders. The bottom horizontal slider
controls rotation. Drag the slider left-right or use the buttons on the two corners to
rotate the whole network counterclockwise or clockwise.
The vertical slider on the right side of the canvas controls zoom. Drag the slider up-down
or use the buttons on the two corners to zoom in or out.
There is also a nice "reset zoom and rotation" button on the bottom right corner.
* New feature: Settings dialog and functionality.
Up to v1.9, SocNetV did not offer any way to permanently save some of your preferences,
i.e. node and edge colors. The new version brings that functionality with a powerfull and
user-friendly Settings dialog. You can find it under Options menu in Windows/Linux and
application menu in Mac). It can also be invoked using the keyboard shortcut CTRL+comma.
The dialog is composed of three tabs: General, Nodes, and Edges.
In the General tab, users can change and permanently save their options such as debugging
messages printing, progress bars appearance, canvas color and background etc.
The Nodes tab has settings about the nodes (default color, size, shape), node numbers
and node labels (toggling, color, font size and distance from the node).
Similarly, the Edges tab offers settings about the edges, their weights and labels.
Any change to the options in the Settings dialog is applied at once. Furthermore, once
the user presses the OK button, all settings are saved in a file in the home directory
and they will be used by default in all future sessions.
Note that some of these settings are also available as single options in the Edit and
Options menus. But any change to them from the menus will be temporary and lost once you
close the application.
* New feature: Labels on edges.
Except their weight, edges can have labels choosed by the user. Just right-click on an
edge, select "Change edge label" and enter a new label. The edge label visibility can be
toggled temporarily from the Options -> Edges menu or permanently from the Settings dialog.
Edge labels are saved only in GraphML formatted files.
* New feature: Directed Edges on different lines
The new version brings a long requested functionality: to depict directed edges between
two vertices with different lines. In the past, any edge (directed and undirected)
between two nodes was displayed as a single line, which did not help the user to see
at once if that line is one undirected edge, one directed edge or two reciprocal directed
edges between those nodes. Only small arrows on the two corners of the line were some
indication if that edge was inbound, outbound or both.
This problem is solved in v2.0. All directed edges are displayed as separate lines on
the canvas. Thus, if you add a tie from node A to node B and another tie from node B
to node A, the program will show two different directed lines connecting nodes A and B.
The same is true if you load a directed social network.
If you want to create an undirected social network, or convert a directed network to
undirected, enable the menu option Edit -> Edges -> Undirected edges.
All edges will become undirected. Then you can add more undirected edges between nodes
The same logic applies on loading social networks from a file. If the file explicitly
declares undirected Edges or undirected graph, the network is visualized with undirected
edges, single lines with no arrows.
At the moment only GraphML and Pajek files are supported.
* New feature: Keyboard shortcuts.
If you prefer using the keyboard to create and analyze your networks, the new version brings
nice shortcuts to all basic functions. For instance, press CTRL+. to add a new node and
CTRL+/ to add a new edge.
* New feature: Delete multiple nodes at once.
Select any number of nodes (left-click on the canvas and drag to select all nodes in the
rectangle rubber band). Then right-click on one of the selected nodes and select Remove nodes.
* New feature: Add edges from multiple nodes at once.
You can select multiple nodes and add edges from all of them to another node at once.
The procedure is the same as deleting multiple nodes. Just select Add edge in the end...
* New feature: Node edges highlight.
When you hover on a node, the program highlight (in red) all edges of that node.
* New feature: Edge highlight on hover.
When you hover on an edge, this is highlighted (red color and increased width) to help you
see the two nodes it connects.
* New feature: Recent files
Version 2.0 brings a nice Recent Files submenu under the Network menu. Every time the user
loads or saves a file a relevant entry is added under Recent Files. This allows us to have
a list of the last five saved or opened files along with their paths, so that the user can
re-open them with one-click. The Recent Files are saved between sessions.
* New feature: Tooltip and What's This help everywhere.
Tooltips and What's This functionality have been added to most GUI elements.
Just hover on any button or control widget and a helpful tooltip will appear to explain
what it does. You can also click on the ? button on the toolbar and then click on any menu
entry, button, checkbox or widget to see a relevant explanation.
* New doxygen source documentation
The SocNetV Manual is now opened directly from the website instead of being local.
If you prefer to have the manual offline, its source files can be found in the archive
tarball or zip file. To create the complete HTML manual, use the doxygen command.
* Windows 10 compatibility
SocNetV v2.0 Windows executable is compiled with the latest Qt version which supports
* Bugs closed:
10 years ago
Version 1.9 - June 23, 2015
Codename: "summer breeze"
* Version 1.9 fixes many bugs and brings a faster matrix inverse routine
The new matrix inverse routine is now using LU decomposition.
Also Information Centrality is greatly improved in terms of computation speed.
PageRank Prestige algorithm corrected to compute PR using the correct formula. The initial PR score
of each node is now 1/N.
#1463069 wrong average distance when there are isolates
#1365037 certain sparse matrices crash socnetv on invertMatrix method
#1365582 centralityInformation() is slow when network N>100
#1463095 edge filter works but the user cannot undo
#1464422 wrong pagerank results
#1464430 socnetv refuses to read pajek files not starting with *Network
#1465774 edges do not always follow relations
#1463082 edge color change is not taking place
#1464418 socnetv crashes on pagerank computation on isolated nodes