Graphiques en couches en d3.js

J'utilise actuellement Graphviz pour visualiser des graphiques de flux de contrôle. Fondamentalement, un graphique de flux de contrôle (réductible) est un DAG plus quelques arêtes qui pointent vers les noeuds dans les couches précédentes. Ces derniers bords ne doivent pas affecter le placement des noeuds.

Actuellement dot dessine les graphes de façon assez précise, mais il n'y a pas de façon facile d'ajouter de l'interactivité (par ex. pliage, défilement, zoom), ce qui n'a pas de prix pour l'analyse de très grands graphes. Par conséquent, j'ai choisi d3.js que la plus mature et une bibliothèque graphique riche en fonctionnalités.

je suis assez sûr qu'il existe un moyen facile de tirer graphiques en couches(comme le fait dot) en d3.js, mais je ne semble pas le reconnaître. Comment dois-je faire? Si cela aide, je fais déjà une analyse de dominateur sur mon CFG.

9
demandé sur whitequark 2012-07-05 08:05:53

1 réponses

la bibliothèque Dagre pour le dessin graphique dirigé rend-agnostique, mais s'intègre bien avec d3.js:https://github.com/cpettitt/dagre

Voici une démo rendue en utilisant D3:http://cpettitt.github.io/project/dagre-d3/latest/demo/interactive-demo.html

5
répondu Brian D'Astous 2016-11-14 22:53:38