2014-10-06 56 views
0

我有一個d3圖表,它繪製了x軸上的多個矩形。將x值映射到d3.time.scale()中的日期

x軸表示一個時間軸,我目前使用d3.time.scale將每個數據點的日期映射到x軸上的一個點。這是直截了當的。

var xAxis = d3.time.scale(); 
data.forEach(function(d){ 
    d.xValue = xAxis(d.startDate); 
}); 

然後繪製出來使用特定x值在一個CSS transform

現在,如果我想根據給定的x值獲取日期(例如,當用戶點擊圖表時,我想檢查x值對應的日期),我還沒有找到使用我創建的xAxis變量來完成此操作。

我該如何做到這一點?我是否必須使用元素的xAxis.domain()width來計算所選日期?

+0

['aAxis.invert()'](https://github.com/mbostock/d3/wiki/Time-Scales#invert) - 變量名真是誤導BTW。我將其稱爲'xScale'。 – 2014-10-06 13:32:47

+0

謝謝,完美的作品。 – Sander 2014-10-06 13:53:03

回答