我是D3js的初学者,并且一直在尝试使用d3js.org网站上提到的示例开发多级动画。过去几天我严重困扰两个问题,似乎无法找到出路!
http://jsfiddle.net/ankujarora/fE9KP/
我遇到问题的代码部分如下:
var slope=Math.atan((y-400)/(x-400))*180/Math.PI;
var tree = d3.layout.tree()
.size([300,150]);
var diagonal = d3.svg.diagonal()
// change x and y (for the left to right tree)
.projection(function(d) { return [d.x, d.y]; });
// Preparing the data for the tree layout, convert data into an array of nodes
var nodes = tree.nodes(treeData);
// Create an array with all the links
var links = tree.links(nodes);
var link = vis.selectAll("pathlink")
.data(links)
.enter().append("svg:path")
.attr("class", "link")
.attr("d", diagonal)
//.attr("transform", "translate("+(x-300)+","+(y)+")rotate("+slope+","+(x- 300)+","+(y)+")")
.attr("transform", "translate("+(x-150)+","+(y)+") ")
2
在我附加的图像(http://imgur.com/q7NjShw)中,我试图从外围的4个节点中的每个节点出现4棵树。但是,我希望每棵树的角度与周边节点到中心节点的角度相同,即沿着连接中心到外围节点的线。当我应用翻译然后旋转时,4棵树在页面顶部涂抹在一起。我已经在考虑转换到一个更容易遵循的例子,因为这个想法实施起来非常痛苦。非常感谢任何帮助!
谢谢