2016-03-24 26 views
0

here kullanılan D3 Sankey forma işlevselliğinin birkaç örneğini görüyorum. Ancak, D3 Sankey eklentisinde uygulanan işlevi göremiyorum.D3 Sankey spread işlevselliği

Herhangi biri, gerçek eklentiye enjekte edebileceğim Spread işlev kodunda yardımcı olabilir mi?

cevap

0

the lib layout they're using kaynağına bakarsanız, işlevi bulabilirsiniz. Sadece refactor ve bunu enjekte ederseniz size iyi bir başlangıç ​​noktası vermelidir.

_spreadNodes: function(data) { 
    var chart = this, 
     nodesByBreadth = d3.nest() 
     .key(function(d) { return d.x; }) 
     .entries(data.nodes) 
     .map(function(d) { return d.values; }); 

    nodesByBreadth.forEach(function(nodes) { 
    var i, 
     node, 
     sum = d3.sum(nodes, function(o) { return o.dy; }), 
     padding = (chart.features.height - sum)/nodes.length, 
     y0 = 0; 
    nodes.sort(function(a, b) { return a.y - b.y; }); 
    for (i = 0; i < nodes.length; ++i) { 
     node = nodes[i]; 
     node.y = y0; 
     y0 += node.dy + padding; 
    } 
    }); 
}