是否有一个很好的免费实现的Sugiyama布局的Java



我正在使用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/

我必须对无法签入的代码进行修改:第275行应该是"continue"而不是"return"。除此之外,如果你给特定的图足够的空间,这个算法似乎是有效的。我有一个基于总节点和总树深度的启发式算法。

在这个项目中有一个:

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

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

最新更新