Javascript D3有序的力有向图节点

Javascript D3有序的力有向图节点,javascript,d3.js,force-layout,Javascript,D3.js,Force Layout,我用力有向图来建立一种流程图。它工作正常,只是节点没有特定的顺序。它们是随机的。我希望图表遵循层次顺序 var force = d3.layout.force() .nodes(d3.values(nodes)) .links(links) .size([width, height]) .linkDistance(90) .gravity(0.6) .charge(-2000) .linkStrength(0.3); 我想给节点一些(数字

我用力有向图来建立一种流程图。它工作正常,只是节点没有特定的顺序。它们是随机的。我希望图表遵循层次顺序

var force = d3.layout.force()
    .nodes(d3.values(nodes))
    .links(links)
    .size([width, height])
    .linkDistance(90)
    .gravity(0.6)
    .charge(-2000)
    .linkStrength(0.3);
我想给节点一些(数字)层次结构。没有明确定义它们的位置


任何帮助都将不胜感激。

您可以使用具有定量焦点的力布局,以便根据其数字层次结构定位节点。Mike的演示(以及代码):


你所说的“订单”是什么意思?你想控制节点的位置还是创建一个层次结构?我认为使用简单的“强制导向布局”和层次结构并不能很好地结合在一起。对于流程图和层次顺序,你应该看一看基于杉山的算法,像这样:-这不是D3,但因此只是一个注释:-)对于定量焦点,你仍然必须明确定义焦点的位置,这是OP试图避免的。我也看不出链接的演示与这两者有什么关系。如果一个节点有多个父节点,则不能使用分层布局。演示演示了如何根据数值属性在不同的垂直位置显示力布局中的节点(当然,仍然需要从数值层次到垂直位置的映射)。演示没有显示链接,但添加链接很容易。在图形绘制术语中,“层次布局”不仅用于描述简单的树状结构。这里允许任何数量的父母和孩子。我的印象是,OP正在寻找一个合适的人选。在这种情况下,您不必指定任何坐标,“数字层次结构”可以直接映射到图形中的图层-然后由算法确定精确的坐标。