如何绘制水平力树

时间:2018-12-19 15:59:12

标签: javascript d3.js

几天前,我在old question d3v3问过类似的问题。这是针对d3js版本3的。现在,我尝试在d3版本5中实现相同的树,并且在tick函数中遇到了事件对象。在版本5中,事件对象中没有alpha参数。我知道必须有其他方法才能在d3v5中实现相同的功能,但是在google上搜索了很长时间之后,我没有找到实现此功能的方法。

Here is the link of force tree in d3 v3,可以使用以下代码更改刻度功能使其变为水平。

function tick(e) {
var k = 6 * e.alpha;

// Push sources up and targets down to form a weak tree.
link
    // Swapped here from y to x
    .each(function(d) { d.source.x -= k, d.target.x += k; })
    .attr("x1", function(d) { return d.source.x; })
    .attr("y1", function(d) { return d.source.y; })
    .attr("x2", function(d) { return d.target.x; })
    .attr("y2", function(d) { return d.target.y; });

node
    .attr("cx", function(d) { return d.x; })
    .attr("cy", function(d) { return d.y; });
}

我需要在d3 v5中获得相同的结果。请让我知道是否还有其他方法可以解决或解决此问题。

0 个答案:

没有答案