There is a brand new website dedicated to muxViz: click here

The present page will be no longer updated.


THE MULTILAYER ANALYSIS AND VISUALIZATION PLATFORM

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.



MuxViz is based on R and GNU Octave, running on Windows, Linux and Mac OS X.
It is released under GNU GPL v3: it is open-source and free.

     



The new source code of muxViz will be publicly available soon



GALLERY







FEATURES


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).



EXAMPLES OF ANALYSES PERFORMED WITH MUXVIZ


If you want to use one (or more) of the following image(s), please, cite and refer to arXiv:1405.0843


Multi-slice (A,C) and edge-colored multigraph (B,D) visualization:



The identity card of a multilayer network:


Caenorhabditis elegans connectome


Human HIV-1 genetic interaction network



Networks embedded in a geographical space:


European airports networks:



SYSTEM REQUIREMENTS AND INSTALLATION


Download and install a copy of Octave (3.4.0 or above):
http://www.gnu.org/software/octave/download.html

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:

However, the main script should be able to detect the missing packages and install them, automatically. Therefore, it is likely that youdo not need to install them by yourself.

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:

#download Octave and R from their repository
wget http://ftp.gnu.org/gnu/octave/octave-3.6.0.tar.gz
wget http://cran.es.r-project.org/src/base/R-3/R-3.0.3.tar.gz
DIR=$PWD

#install Octave
sudo apt-get build-dep octave
sudo mv octave-3.6.0.tar.gz ~
cd ~
tar xvf octave-3.6.0.tar.gz
cd octave-3.6.0
./configure
make
sudo make install
cd $DIR


#install R
sudo apt-get build-dep r-base-core
sudo mv R-3.0.3.tar.gz ~
cd ~
tar xvf R-3.0.3.tar.gz
cd R-3.0.3
./configure
make
sudo make install


#install GDAL
sudo apt-get install libgdal1-dev libproj-dev


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:

source('muxVizGUI.R')

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.



LICENSE AND DEVELOPMENT


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/.



USAGE


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:

path_layer_X;label_layer_X;layout_layer_X

where:

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.



OTHER SCRIPTS INCLUDED


muxViz v0.1 (CLI)

Usage from shell command line (no support to GUI and no longer developed):

R CMD BATCH muxViz.R

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.



CREDITS


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.