Javascript Dc.js线形图不显示交叉过滤数据

Javascript Dc.js线形图不显示交叉过滤数据,javascript,d3.js,dc.js,crossfilter,Javascript,D3.js,Dc.js,Crossfilter,我一直在为此绞尽脑汁,但我一辈子都无法理解为什么我的dc.jslineChart没有显示来自交叉过滤数据对象的数据。我实际上是在复制粘贴逐字复制,您可以在这里找到工作格式的d3noob书籍dc.js示例: 但是,当我尝试在本地服务器或blockbuilder上复制粘贴此完全相同的源代码时,折线图为空且不显示任何数据。您可以在此处找到我当前的尝试: 我甚至确保包括d3noob在他的书示例中使用的确切的javascript库和css(有效),以确保这与某些库的较新版本不存在兼容性问题,但这没有任

我一直在为此绞尽脑汁,但我一辈子都无法理解为什么我的dc.js
lineChart
没有显示来自交叉过滤数据对象的数据。我实际上是在复制粘贴逐字复制,您可以在这里找到工作格式的d3noob书籍dc.js示例:

但是,当我尝试在本地服务器或blockbuilder上复制粘贴此完全相同的源代码时,折线图为空且不显示任何数据。您可以在此处找到我当前的尝试:


我甚至确保包括d3noob在他的书示例中使用的确切的javascript库和css(有效),以确保这与某些库的较新版本不存在兼容性问题,但这没有任何区别。我将感谢任何帮助

嗯,我似乎已经找到了解决办法。似乎我下载的数据文件的数据日期范围与d3noob在其区块上发布的数据日期范围不同。如果我从以下位置替换时间表的硬编码域:

.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; })))

或者,在大多数情况下,你可以离开磅秤的范围,改用。谢谢@Gordon。几周前我刚开始学习d3/dc,这很有趣。感谢您与其他人在直流和交叉滤波器方面的不懈努力!干杯