我有一个简单的树布局示例,我希望将源节点和目标节点设置为值
数据是这样的:
var Data = {"name" : "A", "info" : "tst", "childrens" : [
{"name" : "A1", x:100, y:100 },
{"name" : "A2", x:50, y:400 },
{"name" : "A3", x:50, y:100 },
{"name" : "A311", x:350, y:120 },
{"name" : "A312", x:250, y:170 },
{"name" : "A312", x:175, y:200 }
]};
如您所见,我已经为每个节点定义了 x 和 y 值,以将它们定位在我想要的位置。
但是,它似乎对布局没有任何影响。
我试图将投影更改为:
translate(" + d.x + "," + d.y + ")"
我也尝试更改节点变量,但它似乎与我在投影上更改它具有相同的效果。
我想知道是否可以使用 treelayout 设置位置,但这是不允许的。
另外,我希望使用 svg.symbol,而不是使用 svg:circle:
node.append("path")
.attr("d", d3.svg.symbol().type(circle))
.attr("transform", "translate(0,0)")
然而,相反,它只显示线条,没有文字 - 不明白为什么。
所以基本上我试图定位孩子和我选择的根。
任何帮助或建议将不胜感激。 http://jsfiddle.net/3twUr/2/
编辑:
var line = d3.svg.diagonal().data(data).enter()
.source({x: d.x, y: d.y})
.target({x: d.x, y: d.y});
svg.append("path")
.attr("fill", "none")
.attr("stroke", "black")
.attr("d", line);
var pos = [{source: "A" ,target: 'A1'},
{source: "A" , target: 'A2'} ];