2013-07-19 37 views
1

我如何可以自定義vivagraph.js 線[鏈接]的長度有像定製長度線vivagraph.js

graphics.link(function(link){ 
       return Viva.Graph.svg('path') 
          **.attr('length', 5);** 

          ... 

回答

0

我認爲該鏈接的長度是從的佈局導致一個代碼圖形。據我所知,您可以使用常量佈局來設置佈局,並自己計算節點位置as shown here或設置一個全局理想鏈接長度(springLength),該值用於計算指向佈局的力,如下所示。

var layout = Viva.Graph.Layout.forceDirected(graph, { 
    springLength : 10 
}); 
0

見這個例子中,每鏈接定製長度:

https://github.com/anvaka/VivaGraphJS/blob/master/demos/other/customLinkLength.html

我會摘錄包括 - 它是由添加自定義數據的每一個環節,

graph.addLink(5, 6, { connectionStrength: 0.1 }); 

而且然後使用該自定義數據使用springTransform計算彈簧長度:

var idealLength = 90; 
var layout = Viva.Graph.Layout.forceDirected(graph, { 
       springLength: idealLength, 
       springCoeff : 0.0008, 
       gravity : -10, 
       // This is the main part of this example. We are telling force directed 
       // layout, that we want to change length of each physical spring 
       // by overriding `springTransform` method: 
       springTransform: function (link, spring) { 
        spring.length = idealLength * (1 - link.data.connectionStrength); 
       } 
});