我正在使用 JUNG 库来制作网络图。我还找到了 sugiyama 布局的实现:http://sourceforge.net/tracker/?func=detail&aid=2944336&group_id=73840&atid=539121 但不幸的是它的边缘交叉方法似乎不起作用,我无法解决它。节点的垂直对齐几乎是正确的。
(除非此 JUNG 算法没有错误版本) 有谁知道另一种实现方式?只要它是免费的并且可以包装它,任何 Java 代码(不一定是 JUNG)就足够了。 如果有一个非常好的另一种语言的库可以获取图形并返回具有固定节点位置的 graphml 文件,它也会有所帮助:)
最佳答案
这个布局很适合我:
http://code.google.com/p/daglayout/
我不得不对无法 checkin 的代码进行修改:第 275 行应该是“继续”而不是“返回”。除此之外,如果您为特定图形提供足够的空间,该算法似乎就可以工作。我有一个基于总节点和总树深度的启发式方法。
关于java - Sugiyama Layout for Java 是否有一个很好的免费实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15898274/