使用D3 force layout播放图表我已经注意到结果总是倾向于圆形。但水平边缘有很多空白空间。我的问题 - 如何允许布局分布宽度超过高度的对象。我的天真尝试修改tick
以降低0.99
的费率(y
)失败了:
function tick() {
path.attr("d", linkArc);
circle
.attr("cx", function(d) {
return d.x = Math.max(R, Math.min(width - R, d.x)); })
.attr("cy", function(d) {
return d.y = Math.max(R, Math.min(height - R, d.y*0.99)); });
text.attr("transform", transform);
}
答案 0 :(得分:0)
控制圆形展示位置的参数为.gravity()
。该力将节点拉向中心。您可以通过将值设置为0来禁用它。如果这样做,您应该使用其他内容来确保节点不会离开画布,例如如在this example中那样。
答案 1 :(得分:0)