2016-08-18 93 views
5

我創建了D3時間軸,d3.js中的zoom.scaleExtent()是做什麼的?

//minDate and maxDates are javascript date object. 
var timeScale =d3.scaleTime().domain([minDate,maxDate]).range(
       [0, width]); 
var timeAxis = d3.axisBottom(timeScale); 

,我已經加入了變焦互動,這個軸

//gX is group div that has timeAxis. 
gX.call(d3.zoom(timeScale).scaleExtent([0,4]).on("zoom",function(d){ 
    //Do something. 
})) 

但最初我想設置在天水平軸的縮放級別,默認情況下它顯示在小時級別,所以最後我很好奇的是,

  1. 如何限制幾年級別和最小縮放級別之間的縮放邊界到日級?
  2. 數字[0,4]在縮放中的scaleExtent([0,4])中代表什麼?
+0

祝你好運! D3本身似乎是個謎。不幸的是,Mike Bostock(他是個偉大的程序員,他以簡單,直接的方式解釋事情非常糟糕)中的所有文檔對於那些不準備花費至少一個月的時間來學習如何創建一個簡單的線圖。 功能強大的圖書館,但大多數人只是簡單地複製Mikes代碼示例,並調整它做他們想要的 - 沒有完全理解他們最終的代碼。希望有一個更淺的學習曲線的替代方案,會傾倒D3! –

回答

0

從我所瞭解的這是變焦的時間因素。 4將是平均值:放大4倍。