带有unix时间戳的d3.js平分线

d3.js bisector with unix timestamp

本文关键字:js 平分线 d3 unix 时间戳 带有      更新时间:2023-09-26

我正在尝试使用一个带有unix时间戳和他的答案的平分线图

带鼠标悬停工具提示的多系列折线图

我现在摆弄了几个小时,似乎不明白为什么它不起作用。平分线总是哭诉

d3.v3.min.js:1未捕获类型错误:无法读取未定义的属性"length"

尽管我使用的是:

dataset.forEach(函数(d){d.date=新日期(d.time);d.close=+d.close;});

我把所有的东西都放在一个独立的粉盒里。请原谅格式化。如果有人指出我所犯的错误,我会非常高兴。http://pastebin.com/ycDjYTUW

首先,bisect需要一个数组作为第一个参数,而您要向它传递一个值(实际上是未定义的)。我想你只是想把d传给它。其次,在我的例子中,你也链接了,lines数组是一个路径数组,你把它改成了g数组。

var xDate = xScale.invert(mouse[0]),
  bisect = d3.bisector(function(d) { return d.date; }).left;
  idx = bisect(d, xDate);
var beginning = 0,
  end = lines[i].children[0].getTotalLength(),
  target = null;
...

在此处运行代码。