我一直在为此绞尽脑汁,但我一生都无法理解为什么我的 dc.js lineChart
不显示来自交叉过滤数据对象的数据。我本质上是在尝试逐字复制粘贴 dc.js 的 d3noob 书籍示例,您可以在此处找到工作格式:
https://bl.ocks.org/d3noob/raw/6077996/
但是,当我尝试将完全相同的源代码复制粘贴到本地服务器或 blockbuilder 上时,折线图为空白并且不显示任何数据。您可以在这里找到我当前的尝试:
http://bl.ocks.org/anonymous/9d225b361c740256376e04bbbc6f4e47
我什至确保包含 d3noob 在他的书籍示例中使用的确切 javascript 库和 css(有效),以确保这不是某些库的较新版本的兼容性问题,但这并没有使任何差异。如果有任何帮助,我将不胜感激!
最佳答案
好吧,我似乎已经找到解决办法了。我下载的数据文件似乎与 d3noob 在其区 block 上发布的数据日期范围不同。如果我将 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; })))
关于javascript - Dc.js lineChart 不显示交叉过滤数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41769754/