Dc.js lineChart不显示交叉滤波数据

时间:2017-01-20 18:00:32

标签: javascript d3.js dc.js crossfilter

我一直在为此而努力,但因为我的生活无法理解为什么我的dc.js lineChart没有显示来自交叉过滤数据对象的数据。我本质上是在尝试复制粘贴逐字,这是dc.js的d3noob书籍示例,你可以在这里找到一种工作格式:

https://bl.ocks.org/d3noob/raw/6077996/

但是,当我尝试在本地服务器或块构建器上复制粘贴这个完全相同的源代码时,lineChart为空并且不显示任何数据。你可以在这里找到我目前的尝试:

http://bl.ocks.org/anonymous/9d225b361c740256376e04bbbc6f4e47

我甚至确保包含d3noob在他的书中使用的确切的javascript库和css(可行)以确保这不是某些库的较新版本的某些兼容性问题,但是没有任何差异。我很感激任何帮助!

1 个答案:

答案 0 :(得分:2)

好吧,我似乎已经弄清楚如何修复它。我下载的数据文件似乎与d3noob在其块上发布的数据具有不同的日期范围。如果我将timeChart的硬编码域替换为:

.x(d3.time.scale().domain([new Date(2013, 6, 18), new Date(2013, 6, 24)]))

到此:

.x(d3.time.scale().domain([new Date(2013, 7, 9), new Date(2013, 7, 18)]))

事情开始奏效。当然,正确的做法是通过使用它来避免对任何事情进行硬编码:

.x(d3.time.scale().domain(d3.extent(data, function(d) { return d.dtg; })))
相关问题