Javascript 删除D3中的线元素

Javascript 删除D3中的线元素,javascript,d3.js,Javascript,D3.js,我正在创建一个基于的折线图 如何从路径中删除最后一个元素(即删除线段)?删除元素的类似示例包括更改数据数组,以及通过退出重新初始化。在“圆”的情况下,这看起来像: data.shift(); var circles = svg.selectAll(".dot").data(data); circles.exit().remove(); 但是,这种方法不适用于path。有什么想法吗?您可以在将最后一个数据元素传递给d3之前删除它。如果将调用移动到.data()的位置,再向下移动到路径的附加位置,

我正在创建一个基于的折线图

如何从路径中删除最后一个元素(即删除线段)?删除元素的类似示例包括更改数据数组,以及通过退出重新初始化。在“圆”的情况下,这看起来像:

data.shift();
var circles = svg.selectAll(".dot").data(data);
circles.exit().remove();

但是,这种方法不适用于path。有什么想法吗?

您可以在将最后一个数据元素传递给d3之前删除它。如果将调用移动到
.data()
的位置,再向下移动到路径的附加位置,代码会更清晰,因为它只在那里使用,例如

data.shift();
svg.selectAll("path").data(data).enter()
  .append("path")
  .attr("class", "line")
  .attr("d", line);
data.shift()
替换为
data=data.splice(0,data.length-1)


您还可以将
data.shift()替换为
data.shift();
svg.selectAll("path").data(data).enter()
  .append("path")
  .attr("class", "line")
  .attr("d", line);