MuxViz is a framework for the multilayer analysis and visualization of networks. It allows an interactive visualization and exploration of multilayer networks, i.e., graphs where nodes exhibit multiple relationships simultaneously. It is suitable for the analysis of social networks exhibiting relationships of different type (e.g., family, work, etc) or interactions on different platforms (Twitter, Facebook, etc), biological networks characterized by different type of interactions (e.g., electric, chemical, etc, or allelic, non-allelic, etc), transportation networks consisting of different means of transport (e.g., trains, bus, etc), to cite just some of the possible applications.
The new source code of muxViz will be publicly available soon
MuxViz includes a collection of algorithms and methods for the multilayer analysis of networks. If you use muxViz for your analyses, please, cite arXiv:1405.0843 and remind to cite the correct paper where the particular algorithm or method of your interest has been published.
Multi-slice Correlation: inter-layer degree-degree correlation metrics and edge overlapping analysis.
Multi-slice Centrality: evaluate the influence or the importance of a node accounting for its connectivity in multiple layers simultaneously.
Multi-slice Community Detection: exploit the recent developments in community detection on multilayer networks to identify multilayer modules through multi-slice generalized modularity optimization.
Annular Visualization: vovel representation of multivariate data obtained from multilayer analysis.
Layer aggregation and reducibility: algorithm to reduce the number of layers by aggregating with respect to specific criteria.
Visualization of Multilayer networks: visualization of multilayer network is challenging and still at the beginning; muxViz allows two-dimensional and three-dimensional visualizations as edge-colored multigraph or multi-slice network.
Visualization of Multilayer Geographical Networks: muxViz supports geographical layouts and mapping of multilayer networks embedded in space.
Additional topological descriptors (for nodes, edges and layers).
If you want to use one (or more) of the following image(s), please, cite and refer to arXiv:1405.0843
Caenorhabditis elegans connectome
Human HIV-1 genetic interaction network
European airports networks:
Download and install a copy of Octave (3.4.0 or above):
Octave should be accessible through command line from any folder (i.e., it is mandatory to add it in your PATH environment variable). If you are not familiar with this simple task, you should visit http://www.java.com/en/download/help/path.xml
MuxViz requires R v3.0.2 (or above). Download and install a copy of R from http://www.r-project.org/
The following packages are required within the R environment:
You can download muxViz from Github: https://github.com/manlius/muxViz/archive/master.zip
To work properly with geographical networks, the GDAL (Geospatial Data Abstraction Library) is required. GDAL can be found here: http://www.gdal.org/ Note that GDAL should be installed beforerunning muxViz for the first time.
Very quick installation on a Linux
If you use a Linux (Ubuntu-like) distribution, you are very lucky, because the following BASH script will do the job for you:
Finally, if your system has a working installation of Octave, R and GDAL, you can download the last version of muxViz, unzip it and type the following within R environment:
This should be enough. The script will check for the required packages and will try to automatically install the missing ones. The whole process might take a few minutes, the first time you run muxViz.
MuxViz makes use of many packages and its license is compatible with the license of each used package. MuxViz is Open Source and makes use of free software only: GNU Octave, R (GNU GPLv2), Generalized Louvain Community Detection (FreeBSD License, see the original license) and muxNet (Next release, GNU GPLv3 License, see the original license).
This code has no warranty whatsoever and any kind of support is provided. You are free to do what you like with this code as long as you leave this copyright in place. Please, explicitly cite muxViz if you find it useful for your visualizations and analyses.
(C) Copyright 2013-2014, Manlio De Domenico (manlio.dedomenico at urv.cat)
MuxViz is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
MuxViz is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with the package. If not, see www.gnu.org/licenses/.
Format of an input file
The configuration file is a ASCII file including the list of layers to be included in a multiplex, the corresponding labels and the possible layout file to define node properties (e.g., ID, labels, geographic coordinates, etc).
Format of a configuration file:
Format of a layout file
The first line of the file must specify the name of the correponding node attributes. Allowed attributes:
The order of the columns should not be relevant. If nodeLat and nodeLong are specified, they will be automatically converted to Cartesian coordinates (through Mercator projection).
The properties of each node in the multilayer must be specified or default values will be used (i.e., automatic labeling and layouting). If the number of nodes in the network is different from the number of nodes provided in the layout file, it will be assumed that something is wrong with the layout file and default values will be used.
muxViz v0.1 (CLI)
Usage from shell command line (no support to GUI and no longer developed):
If used with the default options for the first time, muxViz will plot a multiplex with 100 nodes and 4 layers with community-like topology. The output should be a file 'muxViz.png' in the same folder, similar to 'muxViz_example.png' provided with the package.
Please, explicitly cite muxViz if you find it useful for your visualizations.
If you use muxVizGUI for your data analysis, please, cite the relevant papers where all descriptors and diagnostics are defined: you will find a quick help with references to relevant papers in all pages dedicated to data analysis.
monoxViz v0.1 (CLI)
Support the visualization of classical single-layer networks (no longer developed).
The muxViz package now includes a script for the visualization of standard networks. It supports both 2D and 3D layouting with openGL, it is fully integrated with OpenStreetMap and preserves all the features developed to customize visualizations with muxViz.
This work has been partially supported by European Commission FET-Proactive project PLEXMATH (Grant No. 317614), the European project devoted to the investigation of multi-level complex systems and has been developed at the Alephsys Lab.
I am in debt with A. Arenas for proposing this project, with Mason A. Porter and A. Sole-Ribalta for invaluable suggestions and feedbacks.
I would like to thank Inderjit S. Jutla, Lucas G. S. Jeub, and Peter J. Mucha for making their code about multislice community detection available.
Finally, I would like to acknowledge the precious help of S. Agnello in designing and testing this Graphical User Interface to muxViz.