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

Multiseries line chart with mouseover tooltip

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


    d3.v3.min.js:1未捕获的TypeError:无法读取未定义的属性“ length”



虽然我正在使用:


      dataset.forEach(function(d){
        d.date =新的Date(d.time);
        d.close = + d.close;
      });



我把所有东西放在一起放在一个独立的pastebin中。请原谅格式。如果有人指出我的错误,我将感到非常高兴。 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;

...


运行代码here

关于javascript - 带有unix时间戳的d3.js bisector,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37088661/

10-09 16:43