2015-06-24 43 views
1

我想在JUNG中构建一个强制有向图,类似于您可以在D3.js中创建(很容易)的图。JUNG力有向图

大部分是很简单的,但文档是有点老和例子不包括力执导一个(虽然有上有一个Java小程序,它自称是一个演示,但它说明不了什么)

总之,使用DirectedSparseGraph我已经实现了大部分的功能:

directedGraph = new DirectedSparseGraph(); 

directedGraph.addVertex("someVertex"); 
directedGraph.addVertex("someOtherVertex"); 
// etc 
directedGraph.addEdge("someVertex", "someOtherVertex"); 
// etc 

这让我几乎正是我想要的,但我无法弄清楚如何长度分配到边,以显示不同的力量。我浏览过文档和Google,但找不到任何内容。

我希望看到类似 directedGraph.addEdge([edge 1], [edge 2], [edge length]);但它似乎并不存在于api中。

任何人有任何想法如何实现这一目标?

N.b. jung版本是2.0.1

+0

一些相关的。[标签:prefuse]进行检查例子[这里](http://stackoverflow.com/search?标签=票&q =用户%3a230513%20%5bprefuse%5D)。 – trashgod

回答

0

看起来您正在寻找jung-1.x文档。在jung-2.x中DirectedSparseGraph<V, E>是一个泛型类,其顶点为V,边缘为E

这也是定义具有任意属性的顶点和边的方法。例如。如果你想有边权,创建一个合适的边缘种类与重量:

class Edge { 
    public double weight; 
} 

注意,你平时也想实现equals()hashCode()至少顶点。

如果你想使用的权重布点(例如,在SpringLayoutone of the constructors需要lengthFunction