[英]D3 get axis values on zoom event
我有一个来自d3可缩放区域的简单可缩放图表
它具有日期x轴,当用户缩放时,我想获取图表x轴绑定值。
例如我像这样放大
我想获取x轴值(2015年5月23日和2015年5月31日)以满足我的内部需求吗? 尝试了这个但没有成功
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)
这是我数据中的第一个日期(按日期过滤),我也不认为这是相关的e.translate
因为它只有2个值(x,y)。
有任何想法吗?
您可以从xAxis缩放功能获取此信息。
xScale.domain()[0];
xScale.domain()[1];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.