使用日期从dc.js折线图中检索y轴上的值

时间:2015-07-22 13:10:56

标签: d3.js dc.js crossfilter

我使用crossfilter在dc.js中创建了一个折线图,只是在x和y轴上绘制日期,值对:

var parse = d3.time.format("%Y-%m-%d").parse;

var x = d3.time.scale().domain(d3.extent(data.points, function(d) { return parse(d.date) }));
var y = d3.scale.linear().domain([-1.0, 1.0]);

var ndx = crossfilter(data.points);
var dataDimension = ndx.dimension(function(d) { return parse(d.date) });
var dataGroup = dataDimension.group().reduceSum(function(d) { return d.value });

chart.group(dataGroup)
     .x(x)
     .y(y)
     ...;

是否有办法使用日期获取点的y轴值?我知道您可以使用以下方法检索给定鼠标坐标的x轴上的日期:

x.invert(d3.mouse(this)[0]

但是,使用x轴日期访问y轴上的值似乎并不那么简单。

感谢。

1 个答案:

答案 0 :(得分:1)

你可以制作一个数组

var arr = [];
for (var i = 0; i < yourData.length; i++) {
    arr[yourData.date] = yourData.value;
}

这样你就可以通过执行arr [date]来访问任何值,其中date是你想要的值的相应日期。