题
我有一个大的定向无环图,我想在位图图像中可视化。
理想情况下,我想将所有根节点放在图像的顶部,并且底部的所有叶子节点,即图形边缘都指向向下的方向。
是否有良好的算法来确定所有符合这些约束并产生良好可视化的节点的坐标?
解决方案
我建议你使用 Gephi.
这种软能够完成您想要的所有事情,尤其是图形布局!
其他提示
看着那(这 GraphViz 软件收集。它包含多个渲染图的程序。
最简单的方法是以GraphViz的文本格式之一将图形写入磁盘。然后执行其中一个渲染程序,然后将结果图像加载到您的应用程序中。
贝叶斯网络有类似的要求。您可能会寻找贝叶斯网络的算法。 这张纸 例如,可能会有所帮助。
您可能对分层图绘图感兴趣(也称为“层次图形绘图”或“ Sugiyama-style图形图”)。该算法在这里太长了,但是Google搜索提出了许多可靠的解释。
您可以尝试我写的这个Go包: https://github.com/h8liu/e8tools/tree/master/dagvis
不隶属于 StackOverflow