D3.js 获取多个节点的路径数据
我有一系列的路径,如何获得所有路径的节点数据。我似乎只能从最后一条路径获取路径信息:D3.js 获取多个节点的路径数据,d3.js,D3.js,我有一系列的路径,如何获得所有路径的节点数据。我似乎只能从最后一条路径获取路径信息: var paths = svg.selectAll('.path') .data(data) .enter() .append('path') .attr('stroke', 'black') .attr('fill', 'none') .attr('stroke-width', 1.5) .attr('d', line) console.log(pat
var paths = svg.selectAll('.path')
.data(data)
.enter()
.append('path')
.attr('stroke', 'black')
.attr('fill', 'none')
.attr('stroke-width', 1.5)
.attr('d', line)
console.log(paths.node())
您可以通过迭代选择中的元素来获取所有路径的数据,例如
var pathData = [];
paths.each(function() { pathData.push(this); });
或者,如果您只需要d
属性,类似
var pathData = [];
paths.each(function(d) { pathData.push(line(d)); });
这就是您传递的
数据,不是吗?是的,我的数据包含许多元素,但路径。node()
只返回一条路径。如何获取每个路径的节点数据?您的数据包含每个路径的节点。这不是你所说的“节点数据”吗?每个数据包含单个路径的所有节点。每个数据元素包含一条路径。当我运行上面的代码时,我会返回一个数据元素的单一路径,例如
。如何获取所有路径的数据?通过这样做,您应该能够看到各个路径:.attr(“d”,函数(d){console.log(this);返回行(d)})