0

我无法在 NVD3 的 StackedAreaChart 上捕获一些数据。

我可以使用这个答案成功拦截点击事件: NVD3 Stacked Area Chart

但是,我需要更深一步。现在我已经截获了这个事件,我得到了一个看起来像这样的对象:

{
 point: {key:"A Place", values:[], seriesIndex: 1},
 pos: [479, 283],
 series: "A Place", 
 seriesIndex: 1 
}

对象的 pos 数组看起来最有希望——数组中的第一个元素显然是 x 坐标,第二个元素是 y 坐标。

我正在尝试将此数字传递到生成 x 轴值的同一函数中,以便为我提供我正在寻找的 x 轴上的数据点。然而,我没有任何运气,我的桌子开始向它鞠躬,我一直在不停地敲我的头。

任何人都对我如何基本上向后走并将我回到d3中可用的图表函数的坐标管道以获得我如此渴望的x值有任何见解?

4

1 回答 1

1

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

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

这是一个例子:

var xDataPoint = chart.xAxis.scale().invert(xScreenCoord);
于 2014-08-04T21:04:19.440 回答