D3.JS 中的 Sankey 图采用节点数据集和要绘制的链接(参见 VividD 在http://jsfiddle.net/mF27g/上的小提琴示例)。数据集如下所示:
{
"nodes": [{"node": 0, "name": "node0"},
{"node": 1, "name": "node1"},
{"node": 2, "name": "node2"},
{"node": 3, "name": "node3"},
{"node": 4, "name": "node4"},
{"node": 5, "name": "node5"}]...,
"links": [{"source": 0, "target": 2, "value": 25},
{"source": 1, "target": 2, "value": 5},
{"source": 1, "target": 3, "value": 20},
{"source": 2, "target": 4, "value": 29},
{"source": 2, "target": 5, "value": 1},
{"source": 3, "target": 4, "value": 10},
{"source": 3, "target": 5, "value": 2}...]
}
就我而言,我有一个稍微不同的数据集来表示。不同之处在于“链接”集,而不是一个“值”,我有两个,例如:
"links": [{"source": 0, "target": 2, "value1": 15, "value2": 10},
{"source": 1, "target": 2, "value1": 2, "value2": 3},
{"source": 1, "target": 3, "value1": 10, "value2": 10},
{"source": 2, "target": 4, "value1": 20, "value2": 9},...
我的问题是:如何将每个链接分成两部分?理想情况下,我想用不同的颜色为每个部分着色。共有两种颜色,一种用于 value1,一种用于 value2。
有任何想法吗?