【发布时间】:2014-01-08 21:20:33
【问题描述】:
我正在处理 d3 中的节点图(参见此处:http://jsfiddle.net/u56Tr/1)该图本身是非常圆形的(链接/节点在各个方向上相对均匀地分布) - 我如何使它更适合 16 :9 窗口?我假设我必须扩展元素的 x,y 位置,但我不能完全正确。
相关D3代码:
force.on("tick", function() {
link.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_bg.attr("cx", function(d) {
return d.x;
})
.attr("cy", function(d) {
return d.y;
});
node.attr("x", function(d) {
return d.x - (d.group > 0 ? 24 : 32);
})
.attr("y", function(d) {
return d.y - (d.group > 0 ? 24 : 32);
});
});
【问题讨论】:
-
使用多焦点力布局示例中的方法(只是谷歌那个短语)可能会做你想做的事,但对于你的情况,这可能最终会与力布局作斗争,产生意想不到的结果,古怪的结果。 (我曾经尝试过类似的方法。)所以我认为 Lars Kotthoff 对部队布局的看法是正确的。但是,您可能想查看cola layout。我从未尝试过,但看起来它会让你更容易做你想做的事。
标签: javascript svg d3.js force-layout