我試圖創建一個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;
}
}