如何通过用户交互在d3.js中绘制直线

如何通过用户交互在d3.js中绘制直线,d3.js,D3.js,我想根据用户的点击来画线。也就是说,用户将单击某个地方的起点和某个地方的终点,我想在这两个点之间画一条直线。在d3.js中是否有这样做的方法。可能吗?是的,您可以通过鼠标单击来画线,您可以使用e.clientX和e.clientY container.onclick = function (e) { xPosition[i] = e.clientX; yPosition[i] = e.clientY; } 将X、Y位置作为数组,并将数组作为数组传递给SVG行属性 var lin

我想根据用户的点击来画线。也就是说,用户将单击某个地方的起点和某个地方的终点,我想在这两个点之间画一条直线。在d3.js中是否有这样做的方法。可能吗?

是的,您可以通过鼠标单击来画线,您可以使用
e.clientX
e.clientY

container.onclick = function (e) {
    xPosition[i] = e.clientX;
    yPosition[i] = e.clientY;
}
将X、Y位置作为数组,并将数组作为数组传递给SVG行属性

var line = svgContainer.append("line")
        .attr("x1", xPosition[i - 1])
        .attr("y1", yPosition[i - 1])
        .attr("x2", xPosition[i])
        .attr("y2", yPosition[i])

这将帮助你摆好小提琴。不管怎样,我想要一条直线。如果你只想要一条直线,只需使用“d3.select(“line”)。remove(line)”删除前一行即可。检查这个更新的