如何在D3径向Reingold-Tilford树中定位特定半径的链接?

时间:2015-02-10 08:13:44

标签: javascript svg d3.js

我使用Mike Bostock的Radial Reingold–Tilford Tree代码作为示例,但是想根据包含在中的变量来控制节点的位置(只是半径)。 JSON数据的每个元素。

我可以为这样的节点做这个(在我提到的变量上使用线性刻度):

var node = svg.selectAll(".node")
  .data(nodes)
  .enter().append("g")
  .attr("class", "node")
  .attr("transform", function(d) { return "rotate(" + (d.x - 90) + ")translate(" + scale(d.variable) + ")"; })

但我无法弄清楚链接的开始和结束位置(需要与节点对应)如何由diagonal's默认projection控制:

var diagonal = d3.svg.diagonal.radial()
  .projection(function(d) { return [d.y, d.x / 180 * Math.PI]; });

任何人都可以解释这个投影是如何工作的,以及如何修改它以使链接在特定半径开始和结束?

0 个答案:

没有答案