我试图创建一个Java JGraphT可视化与重量,例如:如何通过JGraphT可视化表示边缘重量?
现在我想改变边缘标签(例如:(A:B)到其边缘的重量(例如:2)。 我试图Javadoc中进行搜索,但没有看到任何东西。 请帮我谢谢!
我试图创建一个Java JGraphT可视化与重量,例如:如何通过JGraphT可视化表示边缘重量?
现在我想改变边缘标签(例如:(A:B)到其边缘的重量(例如:2)。 我试图Javadoc中进行搜索,但没有看到任何东西。 请帮我谢谢!
那些边缘标签来自边缘对象的toString
方法。因此,你可以创建自己的边缘类和重写toString
方法可以产生边缘重量。
您可以创建自定义的边缘是这样的:
class MyWeightedEdge extends DefaultWeightedEdge {
@Override
public String toString() {
return Double.toString(getWeight());
}
}
然后创建您的图形像这样,这将使图形创建边缘为MyDefaultEdge
实例,因此只显示边的权重的可视化:
SimpleWeightedGraph<String,MyWeightedEdge> graph
= new SimpleWeightedGraph<String,MyWeightedEdge>(MyWeightedEdge.class);
JGraphT是Generic实现的,所以当你传递Edge类时只需在你的类中实现toString()方法。 例如假设“城市”是我的顶点类,“路径”是我的边缘,所以实现了toString()方法
class Pathe{
@Override
public String toString() {
return "Distant Between" +this.source +"this.dest" "is" + this.distance;
}
}