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)})