我们正面临着dc库线图的问题。
以上面的链接为例,其中每月指数Abs是折线图。放大时,它在X轴上达到分钟,如 5.15,5.30,5.45 等。
我们已经定义了如下的X轴比例:它是日,月,年和小时的组合。
.x(d3.time.scale().domain([new Date(sdate.getFullYear(),sdate.getMonth(),sdate.getDate(),sdate.getHours()), new Date(edate.getFullYear(),edate.getMonth(),edate.getDate(),edate.getHours())])) // (startDate, endDate)
在此,我们尝试以两种方式将缩放限制为小时,但不起作用。
方法1:
.zoomExtent([0, 23]);
方法2:
.zoomExtent([new Date(sdate.getFullYear(),sdate.getMonth(),sdate.getDate(),sdate.getHours()), new Date(edate.getFullYear(),edate.getMonth(),edate.getDate(),edate.getHours())]);
我们希望这种放大功能可以限制最长时间,例如下午4点,下午5点,下午6点等,而不是几分钟。
提前致谢。
答案 0 :(得分:1)
使用chart.zoomScale()
,用于设置d3.zoom.scaleExtent()
参数是一个包含两个元素的数组,允许的最小和最大缩放。默认情况下为[1, Infinity]
确定图表缩放和设置的最大因子。例如。如果你只想缩放20倍,请设置:
chart.zoomScale([1, 20]);
缩放是一个乘法因素。即如果在缩小图表中有20天,将数组的第二个元素设置为20可以放大到1天,或者将其设置为20 * 24可以放大到1小时等等。