D3刷子范围倒置

时间:2014-02-11 22:28:24

标签: javascript d3.js brush

所以我看到的问题是。使用时间刻度并设置画笔范围时。大多数时候它很好。但是有一个领域变得非常愚蠢。

在这个plunker中,我设置了画笔末端以将范围重新定位到画笔

http://plnkr.co/edit/TBPSJm?p=info

以下是重要的片段:

设置比例:

  chartXScale = d3.time.scale().range([0, brushWidth]).domain([
    new Date("Tue Feb 11 2014 14:37:00 GMT-0500 (EST)"),
    new Date("Tue Feb 11 2014 16:37:00 GMT-0500 (EST)")]);

设置范围:

var stringStartTime = "Tue Feb 11 2014 14:59:00 GMT-0500 (EST)",
    stringEndTime = "Tue Feb 11 2014 15:07:00 GMT-0500 (EST)";
  brush.extent([
    new Date(stringStartTime),
    new Date(stringEndTime)
  ]);
  brush(brushg);

我认为我必须做错了,并且已经工作了一天来追踪我做错了什么,现在我不确定。

我发布了d3错误报告,我没有做错。

https://github.com/mbostock/d3/issues/1736

1 个答案:

答案 0 :(得分:1)

http://plnkr.co/edit/oakPie?p=preview

你的brushWidth是一个字符串。在前面添加“+”将其更改为int。

chartXScale = d3.time.scale().range([0, +brushWidth]).domain([
  new Date("Tue Feb 11 2014 14:37:00 GMT-0500 (EST)"),
  new Date("Tue Feb 11 2014 16:37:00 GMT-0500 (EST)")
]);