如何将节点标题放在 d3 Sankey 图中节点的左侧或右侧?
How to place node title to the left or right of the node in d3 Sankey graph?
这是我所指的例子:
http://bl.ocks.org/d3noob/c9b90689c1438f57d649
二级节点的标题在右边。我怎样才能把它们放在节点的左边?请帮忙。
这就是向节点发送文本的方式。
node.append("text")
.attr("x", -6)
.attr("y", function(d) { return d.dy / 2; })
.attr("dy", ".35em")
.attr("text-anchor", "end")
.attr("transform", null)
.text(function(d) { return d.name; })
.filter(function(d) { return d.x < width / 2; })
.attr("x", 6 + sankey.nodeWidth())
.attr("text-anchor", "start");
为了让右边的文字始终如此:
node.append("text")
.attr("x", -6)
.attr("y", function(d) { return d.dy / 2; })
.attr("dy", ".35em")
.attr("text-anchor", "end")
.attr("transform", null)
.text(function(d) { return d.name; })
//.filter(function(d) { return d.x < width / 2; }) //COMMENT THIS LINE
.attr("x", 6 + sankey.nodeWidth())
.attr("text-anchor", "start");
注释上面显示的行,这样它就不会过滤节点 > 一半宽度的 SVG。
工作代码here
这是我所指的例子: http://bl.ocks.org/d3noob/c9b90689c1438f57d649
二级节点的标题在右边。我怎样才能把它们放在节点的左边?请帮忙。
这就是向节点发送文本的方式。
node.append("text")
.attr("x", -6)
.attr("y", function(d) { return d.dy / 2; })
.attr("dy", ".35em")
.attr("text-anchor", "end")
.attr("transform", null)
.text(function(d) { return d.name; })
.filter(function(d) { return d.x < width / 2; })
.attr("x", 6 + sankey.nodeWidth())
.attr("text-anchor", "start");
为了让右边的文字始终如此:
node.append("text")
.attr("x", -6)
.attr("y", function(d) { return d.dy / 2; })
.attr("dy", ".35em")
.attr("text-anchor", "end")
.attr("transform", null)
.text(function(d) { return d.name; })
//.filter(function(d) { return d.x < width / 2; }) //COMMENT THIS LINE
.attr("x", 6 + sankey.nodeWidth())
.attr("text-anchor", "start");
注释上面显示的行,这样它就不会过滤节点 > 一半宽度的 SVG。
工作代码here