d3.js用鼠标点击捕捉最近的线

d3.js用鼠标点击捕捉最近的线,d3.js,line,draw,D3.js,Line,Draw,我需要画一条线,从另一条线的最近点开始,考虑到我的左键点击。我使用d3.js库绘制图形。例如,我想画一个大的“T”字母,需要自动匹配这些交叉点。我可以画各种各样的线和其他结构,只是想把它们放在一起 谢谢。此示例可以帮助您绘制线条。要连续绘制线条,只需单击页面并移动鼠标。如果你想停止画线,只要双击你喜欢的。 如果仍然存在问题,请共享代码或更新问题 var line; var vis = d3.select("body").append("svg") .attr("width", 6

我需要画一条线,从另一条线的最近点开始,考虑到我的左键点击。我使用d3.js库绘制图形。例如,我想画一个大的“T”字母,需要自动匹配这些交叉点。我可以画各种各样的线和其他结构,只是想把它们放在一起


谢谢。

此示例可以帮助您绘制线条。要连续绘制线条,只需单击页面并移动鼠标。如果你想停止画线,只要双击你喜欢的。 如果仍然存在问题,请共享代码或更新问题

var line;

var vis = d3.select("body").append("svg") 
      .attr("width", 600)
      .attr("height", 400)
      .on("click", mousedown)
      .on("dblclick", mouseup);

function mousedown() {
       var m = d3.mouse(this);
       line = vis.append("line")
       .attr("x1", m[0])
       .attr("y1", m[1])
       .attr("x2", m[0])
       .attr("y2", m[1]);

    vis.on("mousemove", mousemove);
  }

 function mousemove() {
            var m = d3.mouse(this);
            line.attr("x2", m[0])
            .attr("y2", m[1]);
   }

  function mouseup() {
         vis.on("mousemove", null);
  } 

Jsfiddle.

你能分享一些你的代码吗,我不明白你有什么问题?我画了这样的线,想连接这样的点。我现在可以画线了。但我的问题是,我需要用我的鼠标点击捕捉另一条线,以最后一条线的某个位置开始另一条线。我需要用鼠标点击触摸主图来画这条红线。我希望我能解释清楚。