5

我正在将 JUNG 库用于网络图。我还找到了 sugiyama 布局的实现:http: //sourceforge.net/tracker/ ?func=detail&aid=2944336&group_id=73840&atid=539121 但不幸的是,它的边缘交叉方法似乎不起作用,我无法解决它。节点的垂直对齐几乎是正确的。

(除非没有这个 JUNG 算法的无错误版本) 有人知道另一种实现吗?只要它是免费的并且可以包装它,任何 Java 代码(因此不一定是 JUNG)就足够了。如果有一个非常好的另一种语言的库,它将获取一个图形并返回一个带有固定节点位置的 graphml 文件,它也会有所帮助:)

4

2 回答 2

5

这种布局对我来说很好:

http://code.google.com/p/daglayout/

我不得不对无法签入的代码进行修改:第 275 行应该是“继续”而不是“返回”。除此之外,如果您为特定图表提供足够的空间,该算法似乎可以工作。我有一个基于总节点和总树深度的启发式方法。

于 2013-04-19T20:00:32.753 回答
1

这个项目中有一个:

它包含经典的 Sugiyama(包含所有生成的顶点)、Eiglsperger 优化(pvertex 和 qvertex)、splay 树、brandes kopf 水平对齐、4 种分层:(自顶向下、最长路径、coffman-graham、网络单纯形) 代码在 jungrapht-layout 模块和 jar 中,它没有 java.awt 依赖项,因此与非 awt 渲染(如 JavaFX)一起使用会更容易。

向下滚动查看图片。代码在这里

于 2019-12-30T15:56:04.757 回答