尝试从d3.js SVG图形上的x坐标检索x值

尝试从d3.js SVG图形上的x坐标检索x值,d3.js,D3.js,我有点迷糊了,我希望有人能给我指出解决问题的正确方向。由于搜索的措辞,在谷歌上运行搜索对我没有多大帮助 我想做的是得到图形上x位置的“值”。在我的图表上,我的x轴由日期组成。例如,如果我知道图表上绘制的x坐标点是200,我想要x位置200的日期标签。有很多教程和示例演示如何检索x坐标(200),但没有检索x坐标值(x位置200的日期对象) 我最终要做的是构建一个用户注释功能,它允许用户在图形上选择一个x位置,然后在该点上进行注释。我需要为该注释存储一个对象,其中包含其坐标的x和y值,并且由于图形

我有点迷糊了,我希望有人能给我指出解决问题的正确方向。由于搜索的措辞,在谷歌上运行搜索对我没有多大帮助

我想做的是得到图形上x位置的“值”。在我的图表上,我的x轴由日期组成。例如,如果我知道图表上绘制的x坐标点是200,我想要x位置200的日期标签。有很多教程和示例演示如何检索x坐标(200),但没有检索x坐标值(x位置200的日期对象)

我最终要做的是构建一个用户注释功能,它允许用户在图形上选择一个x位置,然后在该点上进行注释。我需要为该注释存储一个对象,其中包含其坐标的x和y值,并且由于图形上的点是通过将日期对象应用于.x来映射和重新映射的,因此我需要获取我在图形上绘制的任何点的日期,以便可以记录和重新应用这些点,甚至在用户决定移动便笺工具时也会移动

不管怎样,我正在寻找一种方法来逆向工程这个

function getDateX(x, data) {
    var dateX = x(data.Date);
    return dateX;
}
…但在本例中,不是取回x坐标位置,而是基于提供的x坐标位置取回日期

如果您能为我提供解决方案,我将不胜感激。谢谢你抽出时间

var x = d3.scale.linear()
          .domain([0,200])
          .range([new Date("2000-01-01"), new Date("2001-01-01")]);

new Date(x(150))

// Sun Oct 01 2000 21:00:00 GMT+0900 (東京 (標準時))
或者,如果您已经有了日期->数字的刻度

var x = d3.time.scale()
          .range([0,200])
          .domain([new Date("2000-01-01"), new Date("2001-01-01")]);

x.invert(150)

// Sun Oct 01 2000 21:00:00 GMT+0900 (東京 (標準時))
每个刻度都有一个.invert()函数。提供了类似问题的答案