Javascript 捕获XAxis值NVD3堆叠面积图

Javascript 捕获XAxis值NVD3堆叠面积图,javascript,d3.js,nvd3.js,stacked-area-chart,Javascript,D3.js,Nvd3.js,Stacked Area Chart,我在NVD3中的StackedAreaChart上捕获一些数据时遇到问题 我能够使用以下答案成功拦截单击事件: 然而,我需要更深入一步。现在我截获了事件,我得到了一个如下所示的对象: { point: {key:"A Place", values:[], seriesIndex: 1}, pos: [479, 283], series: "A Place", seriesIndex: 1 } 对象的pos数组看起来最有希望-数组中的第一个元素显然是x坐标,第二个元素是y坐标 我试

我在NVD3中的StackedAreaChart上捕获一些数据时遇到问题

我能够使用以下答案成功拦截单击事件:

然而,我需要更深入一步。现在我截获了事件,我得到了一个如下所示的对象:

{
 point: {key:"A Place", values:[], seriesIndex: 1},
 pos: [479, 283],
 series: "A Place", 
 seriesIndex: 1 
}
对象的pos数组看起来最有希望-数组中的第一个元素显然是x坐标,第二个元素是y坐标

我试图将这个数字输入到生成x轴值的同一个函数中,以便给出我要查找的x轴上的数据点。然而,我一点运气都没有,我的办公桌开始向它鞠躬,因为我一直在不断地把头撞向它


有人知道我怎样才能向后走,把我得到的坐标输入到d3中可用的图表函数中,从而得到我设计的x值吗

要将坐标从屏幕坐标转换回输入,首先需要使用转换坐标的比例

您可以通过轴组件访问比例,然后可以在坐标上调用
invert

下面是一个例子:

var xDataPoint = chart.xAxis.scale().invert(xScreenCoord);

是的,这正是我需要的。在nvd3世界中,您可以使用如下内容进一步扩展此功能:nv.interactiveBisect(my_point.values,xDataPoint,chart.x());