我在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值我是如此deisre?
答案 0 :(得分:1)
要将坐标从屏幕坐标转换回输入,您需要使用首先对其进行转换的比例。
您可以通过轴组件访问比例,然后可以在坐标上调用invert
。
以下是一个例子:
var xDataPoint = chart.xAxis.scale().invert(xScreenCoord);