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