2016-08-18 109 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倍。

相关问题