我有一个常规的时间尺度:
band.xScale = d3.time.scale()
.domain([data.minDate, data.maxDate])
我想用缩放来修改这个内容:
var zoom = d3.behavior.zoom()
.scaleExtent([1, 10])
.on("zoom", zoomed);
function zoomed() {
console.log(d3.event.scale);
var oldDomain = bands[0].xScale.domain();
var newDomain = ??? oldDomain * d3.event.scale ???
bands[0].xScale.domain(newDomain);
bands[0].redraw();
}
换句话说,将
[date1, date2]
域转换为一个带有新日期的新数组。我可以自己计算转换,但必须使用类似 Moment.js 的东西,而 d3 似乎有一种内置方法处理这种情况...