2015-10-05 25 views
2

D3得到軸值我從d3 zoomable area enter image description here在變焦時

一個簡單的可縮放的圖表,具有日期x軸,當用戶放大,我想圖表x軸的約束值。
例如我將其放大就是這樣, enter image description here

我想獲得X軸的值,23月 - 2015年和31日,2015年我的內在需要,是可能的嗎?試過,但沒有成功

function draw(){ 
      var e = d3.event; 
      if(e){ 
       var tx = Math.min(0, Math.max(e.translate[0], width - width*e.scale)); 
       var ty = Math.min(0, Math.max(e.translate[1], height - height*e.scale)); 
       console.log(x.invert(e.translate[0]), x.invert(tx)); 
       zoom.translate([tx, ty]); 
       g.attr('transform', [ 
        'translate(' + [tx, ty] + ')', 
        'scale(' + e.scale + ')' 
       ].join(' ')); 
       svg.call(zoom); 
      } 
      svg.select('g.x.axis').call(xAxis); 
      svg.select('g.y.axis').call(yAxis); 
      svg.select('path.area').attr('d', area); 
      svg.select('path.line').attr('d', line_low); 
      svg.select('path.line').attr('fill', 'blue').attr('stroke-width', 4).attr('d', minTempLimitLine); 
      svg.select('path.line').attr('fill', 'red').attr('stroke-width', 4).attr('d', maxTempLimitLine); 
     } 

x.invert(e.translate[0])不斷返回Sat Oct 04 2014 12:56:40 GMT+0600 (ALMT)這是我的數據的第一次約會(按日期過濾),此外,我不覺得,因爲它只有2個值,對於x它涉及到e.translate,年。
任何想法?

+0

你能發佈一個工作片段嗎?我們需要看看你如何註冊聽衆,例如... –

回答

0

您可以從您的xAxis比例函數中獲取此信息。

xScale.domain()[0]; 
xScale.domain()[1];