我目前正在使用 Graphviz 来可视化控制流图。基本上,(可简化的)控制流图是一个 DAG 加上一些指向前一层中的节点的边。后面的边不应影响节点的放置。
现在,dot
绘制的图形相当整齐,但它缺乏一种简单的方法来添加交互性(例如折叠、滚动、缩放),这对于分析非常大的图形来说是无价的。因此,我选择d3.js作为最成熟、功能最丰富的图形库。
我很确定有一种简单的绘制方法分层图 https://en.wikipedia.org/wiki/Layered_graph_drawing(就像dot
)在 d3.js 中,但我似乎不认识它。我怎么做?如果这有帮助,我已经对我的 CFG 执行了支配者分析。
用于定向图绘制的 Dagre 库与渲染无关,但与 d3.js 集成良好:https://github.com/cpettitt/dagre https://github.com/cpettitt/dagre
这是使用 D3 渲染的演示:http://cpettitt.github.io/project/dagre-d3/latest/demo/interactive-demo.html http://cpettitt.github.io/project/dagre-d3/latest/demo/interactive-demo.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)