2015-07-03 52 views
0

我需要繪製一條以另一條線的最近點爲起點的線,這個點最初被認爲是我的左鍵點擊。我使用d3.js庫進行繪圖。例如,我想繪製一個大的'T'字母,並且需要自動匹配那些交叉點。我可以繪製各種線條和其他結構,只是想放在一起。d3.js用鼠標點擊最近的一行

謝謝。

+0

你可以分享一些你的代碼,我不明白你有什麼問題嗎? –

+0

我畫這樣的線條,並想連接像這樣的鏈接點。 http://postimg.org/image/z97d7oecf/ – Qqcolorspace

回答

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

+0

我現在可以畫線了。但我的問題是,我需要用鼠標點擊另一條線來開始另一條線,從而開始最後一行的某個位置。 http://imgur.com/Gz34oAq 我需要繪製這個紅線與觸摸主要繪圖與使用鼠標點擊。我希望我解釋一下自己。 – Qqcolorspace