我使用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轴上的值似乎并不那么简单。
感谢。
答案 0 :(得分:1)
你可以制作一个数组
var arr = [];
for (var i = 0; i < yourData.length; i++) {
arr[yourData.date] = yourData.value;
}
这样你就可以通过执行arr [date]来访问任何值,其中date是你想要的值的相应日期。