Graph visualization is still an open problem in many applications.
The problem is commonly related to large graph visualization in which problems arise from the rendering of a large number of nodes and a greater number of links between them (a graph with N
nodes could have (N x N)
possible links).
An other open problem concern the multi-dimensional visualization of graphs.
Despite common graph tools compute the node coordinates in any space dimensions (and clearly the maximum number of possible dimension for a visualization is only 3) the real visualization is often allowed only in 2D spaces.
The counterpart of these problems concern a pretty visualization of the graphs that it is often ignored by many tools which prefer focusing on simple renderings.
In this section we introduce a new custom graph viewer developed for pretty small-network visualization in 2D and 3D, called BlendNet
(Blender Network viewer).
BlendNet
is an open-source project and it is released on Github under GPL license.
All the small-graphs showed in this work are made using this tool and in particular the feature-signatures generated by the DNetPRO
algorithm.
BlendNet
is written in Python
with the help of Blender
API.
Blender
is now a standard for 3D rendering and it is commonly used in a wide range of graphical applications, starting from the simpler 3D dynamics to video-game applications.
Blender
is certainly more than a simple graphical viewer but it provide an easy Python
interface and a wide on-line documentation which make it a useful tool for graphical representation of 3D structures.
We are forced to use the Python
version provided by Blender
to use its APIs and any extra-package required by our application have to be installed with the appropriate pip
.
We use the networkx
Python
library for node coordinates computation and thus we have to update our Python
-Blender
with the appropriate packages.
Moreover, since the code can be difficult to manage for non-expert users we have written an easy command-line interface to set the whole set of parameters required by the graph viewer that can be piloted via Makefile
rules.
The list of nodes and edges can be passed via command-line with relative filenames, in the same format of the concurrent graph viewers (e.g Gephi software, the other graph viewer used in this work to generate the larger network structures of the CHIMeRA
project).
The software project is a single script file and it includes a full list of possible examples and usages.
Some of this examples are shown in the initial Figure.
A full list of installation instructions is also provided for any operative system (Unix, MacOS and Windows).
These instructions cover a full installation of Blender
, Python
and BlendNet
package for administrator and no-root users [Shut
].
With slight code editing we can obtain different node coordinates and shapes.
Node colors, sizes and positions can also be given using the node-list file as independent columns.