Visualisation de graphes

Logo Esipe-mlv Logo Esipe-mlv

Solutions existantes

 

Gephi

Gephi est un outil Open Source sous licence GNU General Public License. Il est développé en Java, utilisant la bibliothèque graphique Swing. C'est un outil portable sur les principales plateformes (Linux, Windows, Mac OS X). Pour découvrir ses fonctionnalités, il faut se rendre sur la page suivante: Gephi Quick Start.

Le développement de Gephi induit l'utilisation de l'IDE Netbeans. Le projet peut se récupérer sur Github. Un système de plugins permet d'ajouter de nouvelles fonctionnalités rapidement. Des exemples sont donnés pour faciliter la prise en main: Plugin Bootcamp. De plus, un toolkit permet de manipuler les librairies de Gephi sans passer par l'interface Swing. Le plus simple est de suivre les instructions sur le site officiel de Gephi pour débuter le développement: https://gephi.org/developers/.

Pour conclure, Gephi est idéal pour manipuler des graphes de taille assez conséquente (jusqu'à plusieurs dizaines de milliers de noeuds et de liens). Les développeurs Java peuvent contribuer à son développement, ou bien utiliser ses librairies via le toolkit.

 

Librairies JavaScript

Des librairies JavaScript existent pour intégrer un graphe dans un navigateur web. Le principal problème de ces librairies est qu'elles ne peuvent gérer uniquement des graphes composés de quelques centaines de noeuds et de liens au maximum. Ici, trois de ces librairies sont présentées:

D3.js

Dans cet exemple, les nœuds peuvent être déplacés à l'aide d'un Drag&Drop:

Arbor.js

Dans cet exemple, les nœuds sont dynamiques: ils peuvent être déplacés à l'aide d'un Drag&Drop, et leur survol fait aparaître d'autres nœuds. Ces derniers correspondent à des liens HTML:

Sigma.js

Dans cet exemple, l'algorithme Force Atlas 2 est utilisé. Son exécution peut être stoppée. Dans ce cas, le survol d'un nœud cache les autres nœuds du graphe, sauf ses voisins directs. L'utilisateur peut zoomer sur le graphe (molette souris):