2015-04-06 42 views
0

我有一條線d3線圖(可以在這裏查看 - the graph)。圖形只允許在y軸上縮放。默認情況下,它允許拖動。我想阻止人們在y軸上拖動到0以下。我在某處讀到,沒有必要寫一個新的拖動功能,因爲縮放處理。因此,我嘗試在我的函數(重繪)上實現邏輯,這是在縮放時調用的,但一直無法弄清楚我如何防止人們在y軸上拖動到0以下。下面是重繪功能防止d3線圖中的y軸在阻力下低於0

function redraw() { 

    if (y.domain()[0] < 0) { 
      y.domain()[0] = 0; 
      vis.selectAll("[ty='line']").attr('d', line); 
      vis.select(".y.axis").call(yAxis);    
      return; 

    } else { 
     vis.select(".y.axis").call(yAxis); 
     vis.selectAll("[ty='line']").attr('d', line); 
    }   
} 
+1

參見[這個例子](http://bl.ocks.org/張貼在評論的代碼garrilla/11280861)。 –

+0

@LarsKotthoff對此非常感謝。它仍然有點bug,但工作像90%的時間 –

+0

嗯,這個例子對我來說工作得很好。 –

回答

0

如何解決這個問題的鏈接被拉爾斯Kotthoff