用鼠标点击

时间:2015-07-03 12:18:32

标签: d3.js line draw

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

谢谢。

1 个答案:

答案 0 :(得分:0)

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

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 here