摘要
使用下面的示例,我创建了一个数据库驱动的树视图,其中包含信息块而不是圆形节点。
Interactive d3.js tree diagram
请参阅下面的示例屏幕截图:
这个想法是让线从块结束的地方开始。我认为它与以下功能有关:
// Custom projection
var linkProjection = d3.svg.diagonal()
.source(function (d) {
return { "y": d.source.y, "x": d.source.x };
})
.target(function (d) {
return { "y": d.target.y, "x": d.target.x };
})
.projection(function (d) {
return [d.y, d.x];
});
// Enter any new links at the parent's previous position.
link.enter().insert("path", "g")
.attr("class", "link")
.style("fill", "none")
.style("stroke", "#d1d6da")
.style("stroke-width", "1")
.attr("d", function (d) {
var s = { x: source.x0, y: source.y0 };
var t = { x: source.x0, y: source.y0 };
return linkProjection({ source: s, target: t });
});
我尝试将块宽度添加到y坐标,但是虽然它从绘图的正确位置开始,但它再次在块的开头处结束。
有什么建议吗?
答案 0 :(得分:0)
没有更多的代码,很难说,但我认为它与坐标系有关。 x,y指向我认为的物体的中心。因此,您必须将y向右移动一半的长度。
即。父母先前的位置(x,y)指向父母的中心。