我想在D3.js Sankey图中的每列节点上添加标题。例如,我举了这个例子:http://bl.ocks.org/d3noob/5028304这就是我想要的结果:
我认为这样的事情但它并没有让我信服。我正在寻找其他替代方案。
var columnNames=["step 1","step 2","step 3","step 4"];
var distance=width/(columnNames.length-1);
var pos=0;
for (var i = 0; i < columnNames.length; i++){
svg.append("text")
.attr("x", pos)
.text(columnNames[i]);
pos=pos+distance;
}
我该怎么做?
提前谢谢。
答案 0 :(得分:0)
生成sankey时,sankey中的每个节点都会分配一个dx值,该值与左侧的位置相关联。如果遍历节点(graph.nodes),并创建一个包含唯一dx值的数组,您将知道有多少步,以及步标签的x坐标。
这个数组可以用作数据连接来生成标签,然后可以使用值创建文本,例如label.text(function(d){return“step”+ d;})