D3.js D3力定向布局沿X轴分布

D3.js D3力定向布局沿X轴分布,d3.js,force-layout,D3.js,Force Layout,在使用D3绘制图形时,我注意到结果总是趋向于圆形。但是在水平边缘有很多空白。我的问题-如何允许布局分布对象的宽度大于高度。我天真的尝试只是修改勾选以降低y的费率(0.99),但失败了: function tick() { path.attr("d", linkArc); circle .attr("cx", function(d) { return d.x = Math.max(R, Math.min(width - R,

在使用D3绘制图形时,我注意到结果总是趋向于圆形。但是在水平边缘有很多空白。我的问题-如何允许布局分布对象的宽度大于高度。我天真的尝试只是修改
勾选
以降低
y
的费率(
0.99
),但失败了:

    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来禁用它。如果这样做,则应使用其他方法确保节点不会离开画布,例如。

此功能的关键代码应该在pick()中,这是正确的

我没有您的示例的所有代码,但我将向您展示两个在X轴和Y轴上实现不同行为的示例

在这里,您只需查找包含
.5625
的行,这就是压缩图表所需的全部内容

在另一张图中,你可以看到图完全粉碎,常数更小。:)