如何从json文件中分配Sankey图(D3)中节点的x轴位置

Ern*_*sto 5 javascript json d3.js sankey-diagram

我终于在D3中找到了一个允许节点在x轴上移动的Sankey图,但我想从json文件中分配一个值来修复特定位置的位置.

http://bl.ocks.org/d3noob/raw/5028304/

我想要做的是使用Sankey Diagram作为时间表.

csa*_*nes 2

我们称其为 x 坐标layerlayer=0将是左边缘,并将layer=n是右边缘。在JSON文件的字段中,添加每个节点的nodes键值对。"layer": your_desired_x_as_integer

然后进入 sankey.js 文件并找到该函数componentsByBreadth.forEach。将该行替换node.x = component.x + node.x;为:

if (node.layer) node.x=node.layer;
else node.x = component.x + node.x;
Run Code Online (Sandbox Code Playgroud)

您也可以像这样定义层的密度,例如放置在层 0、1、2 或 0、4、8 上的节点将有一个中心节点和两个位于 sankey 宽度边缘的节点,但 0、1、5 将有没有。

如果您需要更多帮助,此功能以及其他功能都包含在我的 D3 Sankey 应用程序中:http://sankey.csaladen.es